排序後分組取每個分組的第一條資料

2022-03-28 06:37:35 字數 356 閱讀 6139

select p1.* from

(select * from table p0

where p0.種類編號 in (10066656,10115244)

order by p0.** asc,p0.主鍵id desc

limit 1000000

) p1

group by p1.種類編號;

因為group by無法放到order by之後執行,所以需要建立虛表p1,limit 100000是取前100000條資料,因為不加limit虛表的排序不會生效,100000是亂寫的,

是多少都行,只要足夠取出要查詢的資料條數。

參考 

Oracle分組,取每個分組的第一條資料

最近有個有個業務需求 springboot專案集合mybatis 需要查詢分組後,取每組的第一條資料 oracle資料庫 可以在業務 中實現,但是過於繁瑣,後來查閱oracle的函式,得出僅僅在sql中即可實現,非常簡潔,簡化 sql如下 select from select t user.row ...

Group By 分組並取第一條資料

mysql 我使用排序進行篩選,保證分組 排序之後我的第一條資料就是我要的資料 select a.code a.type as 班型 max a.num from select from cent ylb numclass group by code,type order by code,num d...

Hive分組取第一條記錄

交易系統,財務要求維護每個使用者首個交易完成的訂單資料 首單表,可取每個使用者交易完成時間最老的訂單資料 舉例 簡寫版的表結構 表資料 則 財務希望彙總記錄如下 uidorder id service completion time244 2017 02 03 12 23 01.0333 2017 ...