sql 获取分组第一行数据

2024-12-02 19:08:43
推荐回答(3个)
回答1:

是oracle数据库是这样写:
select namec,medicinemodel,outlookc,memo2 from (select namec,medicinemodel,outlookc,memo2 from 表名 group by namec,medicinemodel,outlookc,memo2 order by BidPrice) where rownum = 1;

这样就查出第一行的数据

回答2:

DB2/ORACLE/ SQL SERVER 2005以上
select *
from (SELECT namec, medicinemodel,outlookc,memo2, row_number() over(partition by namec,medicinemodel,outlookc,memo2 order by BidPrice) rk from tab) t
where rk = 1

回答3:

思路:分组后加上行号,然后取行号=1的数据