是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;
这样就查出第一行的数据
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
思路:分组后加上行号,然后取行号=1的数据