问题是这样,
有表字段dept,时间, 但是我只想按dept分组,按时间排序,时间不出现在查询字段里
原纪录->
x
想要结果->
解决:
先按时间部门排序,然后窗口函数取时间最小的,最后包起来distinct
窗口函数的语法 :
窗口函数名([expr]) over(partition by <列名清单 > order by <排序列清单>)
1. over : 表示窗口函数关键字
2. partition by : 表示对查询返回的结果集进行分组
3. order by : 表示对查询返回的结果集分组后的数据进行组内排序
SQL:
select distinct dept,min_date from (
select dept, min(b.createtime) OVER(PARTITION BY dept ORDER BY b.createtime ASC) AS min_date
from bshowyj_task_row a,bshowyj_measure b
where a.rowid=b.taskid and b.status='2' order by b.createtime desc ) c
order by min_date desc
-->
问题解决