1. 在一个表内,根据一条uuid查询对应的detail_code,在根据detail_code查询包含detail_code的多个uuid
最优解法(自己关联自己):
select hsc.uuid from hcbm_system.hcbm_sys_category hs_parent join hcbm_system.hcbm_sys_category hsc on (hsc.detail_code like concat(hs_parent.detail_code,'/%') or hsc.detail_code = hs_parent.detail_code) and hs_parent.uuid = 'c29404e9feb9491d97686408cb475040'
普通解法:
select uuid from (select detail_code from hcbm_system.hcbm_sys_category where uuid="c29404e9feb949") tem left join hcbm_system.hcbm_sys_category as hs on hs.detail_code like concat(tem.detail_code,"/%") or hs.detail_code=tem.detail_code
2. 取各科前三名
SELECt * from hand_student_core hsc WHERe (SELECt COUNT(*) from hand_student_core hsc1 WHERe hsc.course_no = hsc1.course_no and hsc1.core3. 模糊查询实现不区分大小写(将数据库中的数据和传入的参数全部转成小写,实现匹配,从而实现了不区分大小写)
SELECt * FROM `table` where lower(字段) LIKE CONCAt(CONCAt('%',lower('WPS')),'%')4. 查询出来的结果中,如果某个字段有多个数据,对它们进行拼接,可以使用group_concat函数
group_concat(trading.number) number需要注意的是,记得加上别名,否则java中的后端实体类会找不到这个字段



