时间: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-29
MySQL数据库node使用详解2023-10-27
MySQL8.0数据库开窗函数图文详解2023-10-27
MySQL存储函数以及触发器详解错误提示:1045-Access denied for user ‘root‘ ‘localhost‘(using password: YES) mysql数据库只能本机连接,不能远程链接 宝塔没有放行端口,云服务器没有添加安全组...
2023-10-27
一、创建数据库—create 1.1 字符集与校验规则 1.1.1 查看系统默认字符集以及校验规则 1.1.2 默认方式建立数据库 1.1.3 指定编码集建立数据库 1.2 建库的本质 二、查看数据库及其相关属性—show 2.1 显示所有数据库 ...
2023-10-27