1、mysql分组取每组前三条记录
#根据订单号(order_no)分组,每个订单取3个订单明细
SELECT *
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY order_no ORDER BY create_time) AS row_num
FROM order_goods_detail
) AS subquery
WHERE row_num <= 3;
2、mysql中的group_concat函数介绍
数据库字段:主键值(id)、课程id(course_id)、课程名称(course_name)、学生id(stu_id)、学生名称(stu_name)、学生得分(stu_score)、创建时间(create_time)、更新时间(update_time)
案例:查询每个课程有哪些学生参与
select course_id, group_concat(stu_name) as stu_name from student_course group by course_id;
表数据如下:
course_id stu_name
1 张三
2 李四
1 王五
执行上述SQL,SQL输出结果如下:
1 张三,王五
2 李四
group_concat函数实际工作中还是比较常见的。