开发者社区> 问答> 正文

mysql执行group的时候如何选择返回指定要求的列?

表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。。。咳咳,实在表达不清楚了。。。

展开
收起
a123456678 2016-07-01 14:48:54 2042 0
1 条回答
写回答
取消 提交回答
  • having
    我理解的意思题主的意思时说在 group by 的基础上继续过滤结果, 你需要 having

    2019-07-17 19:50:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像