mysql 查询排序分组问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 查询排序分组问题相关的知识,希望对你有一定的参考价值。

参考技术A 这里想要实现的是的查询不通works_id里面sort最小的老师记录

首先需要做的是sort排序,之后再按照works_id分组解决问题

之前陷入了思维困局,总是想要用min(sort)这种方式去查询,换了思路

复杂的问题需要简单的去做不能说一下子就要搞一个复杂的问题,一个个简单的sql完成复杂的问题

如下:

SELECT aaa.teacher_id AS teacher_id, aaa.works_id FROM ( SELECT * FROM works_teacher ORDER BY sort ) aaa GROUP BY works_id

sql多表分组查询并排序的问题

假设有三张表:

tb1

sID name

tb2
sID tID name

tb3
tID name time

tb2和tb1根据sID关联,tb3和tb2根据tID关联

我想写一个sql语句:根据tb1的sID分组分别得到tID,然后获取各sID下的tID,最后根据tb3的time(smalldatetime)排序得到各分组的第一个tb3的name的数据(就是我想取到各Sid下的最后时间的name)

select sID,name,time from (
select tb1.sID,tb2.tID,tb3.name,tb3.time
,row_number() over (partition by tb1.sID order by tb3.time desc) seq
from tb1 a
inner join tb2 b on a.sID=b.sID
inner join tb3 c on b.tID=c.tID
) t where seq=1

参考技术A 标识一下各表的主键,from 数据库,group by 升序或者降序 参考技术B 请把各表的 主键 标示一下 group by order by top 1
并且把 使用的数据库 也说一下

以上是关于mysql 查询排序分组问题的主要内容,如果未能解决你的问题,请参考以下文章

MySQL分组、排序

mysql分组排序后取出几条记录,

具有多个分组或排序的mysql查询优化

MYSQL 查询数据排序数据和分组数据

MySQL下实现先排序后分组查询(问题记录)

三、MySQL数据库之分组排序