时间:2023-10-29来源:系统城装机大师作者:佚名
1 2 3 4 |
//TP6写法 $aids = Db:: name ( 'answer' )->whereIn( 'qid' , $qids)-> group ( 'qid' )-> column ( "SUBSTRING_INDEX(group_concat(id ORDER BY top desc, sort asc, pinglun desc, zan desc, id desc),',',1) as aid" ); $aids = array_column($aids, 'aid' ); $qid_answer = Db:: name ( 'answer' )->whereIn( 'id' , $aids)-> column ( "id,qid,title" , 'qid' ); |
answer 表中存在 qid的一对多条数据,我需要取q表的分页数据,然后每一条q数据对应返回置顶/排序/最新的一条a数据;group_concat函数根据qid分组和排序,取出排序的aid逗号拼接的字符串;SUBSTRING_INDEX函数取出aid字符串的第一个,就是我们要的值。
MySql:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
SEECT d.DETAIL_ID, d.WARE_ID, d.WARE_NAME, d.`STATUS`, d.material_id, d.material_info, d.conversion_rate, m.assign_purorg_id FROM `order_detail` d LEFT JOIN mall_order m ON d.ORDER_ID = m.ORDER_ID WHERE (d.WARE_ID,m.assign_purorg_id) in (( '1' , '1910260249874688' ),( '54' , '1910264272376064' ),( '54' , '1910260249874688' )) AND d.dr =0 and m.dr= 0 AND d.`STATUS` NOT IN ( "SAVED" , "COMMITEN" , "REJECTED" ) |
Mapper:
到此这篇关于MYSQL根据分组获取组内多条数据中符合条件的一条的文章就介绍到这了
2023-10-30
windows上的mysql服务突然消失提示10061 Unkonwn error问题及解决方案2023-10-30
MySQL非常重要的日志bin log详解2023-10-30
详解MySQL事务日志redo log一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...
2023-10-30
Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...
2023-10-30