sql 根据字段取最小的一条值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 根据字段取最小的一条值相关的知识,希望对你有一定的参考价值。

现在有shop 和 goods 两个表 shop里面有很多goods 现在是想 取相同shop下price最小的那条记录!

参考技术A select b.shopid,a.* from
goods a left join
(select shopid,goodsid,min(price) as minprice from shop group by shopid,goodsid) b on a.goodid=b.goodid本回答被提问者采纳
参考技术B select min(price) from xx group by shop 参考技术C select goodsid,min(pirce) price from shop group by goodsid

sql根据某一个字段重复只取第一条数据

比如上图,取3,4行记录的第一行也就是3行,而不返回4行。

使用分析函数row_number() over (partiion by ... order by ...)来进行分组编号,然后取分组标号值为1的记录即可。目前主流的数据库都有支持分析函数,很好用,比如使用下面的方式。

select s.*  
from ( 
    select *, row_number() over (partition by [手机号] order by [店铺]) as group_idx  
    from table_name
) s
where s.group_idx = 1

 

以上是关于sql 根据字段取最小的一条值的主要内容,如果未能解决你的问题,请参考以下文章

【SQL】根据一个字段分组求另一个字段的最大值,并带出其他字段

sql 几个字段最小值

Sql语句 表中相同的记录(某个字段)只显示一条,按照时间排序显示最大或最小

sql语句 同一时间出现2条数据,对比其中某一字段,删除其中较小的一条

多表查询结果出现重复记录,根据条件只取其中的一条记录的sql语句

SQL查询取分组最大值