表A有字段id
、title
,表B有a_id
、name
、price
,A和B的关系为一对多
SQL如下:
select A.title,B.name,min(B.price) from A inner join B ON A.id=B.a_id group by B.a_id order by B.price
需求如下:我要在分组过后的数据里展示
表B里价格最低的name
(最低的价格已用min(B.price)获得,但B.name没有对应最低价格的那条数据)
非常抱歉,由于原表数据多,所以想精简一下来问,结果写错了,已更正!
有几个朋友没懂我的需求,解释一下:每个A有多个B,我需要查询A里面价格最低的B记录(同时要关联A),我现在的SQL查出来确实是B对应A价格最低的,但是B.name不是价格最低那条数据的name。。。咳咳,实在表达不清楚了。。。
having
我理解的意思题主的意思时说在
group by
的基础上继续过滤结果, 你需要having