分组取每组的第一条或前N条
生活随笔
收集整理的這篇文章主要介紹了
分组取每组的第一条或前N条
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
情景:每天收集到很多意思相近的新聞,按照時間,取每天的第一條
1.group by 按照時間分組
select distinct substring(pubTime,1,10) pubTime,max(title_ch) from news
where title_ch != ’ ’
group by substring(pubTime,1,10)
order by substring(pubTime,1,10)
2.rank_over 為每組按照制定順序打標簽(排序),最終取每組前N
select * from (
select pubTime,title_ch,rank() over(partition by pubTime order by title_ch desc,pubTime asc) as rank_over from
(
select distinct substring(pubTime,1,10) pubTime,title_ch from news where title_ch != ’ ’ and category = ‘belt_and_road’ and media = ‘news18.com’ order by pubTime asc
)a
)b
where rank_over <= N
總結
以上是生活随笔為你收集整理的分组取每组的第一条或前N条的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络营销小笔记
- 下一篇: Exchange Online功能介绍