mysql分组之后的查询语句

数据库结构如下
clipboard.png

如何根据farm_info_id进行分组,得到每个分组中harvest_data大于今天并且最小的记录?

要返回每个分组中符合条件的所有字段

阅读 1.3k
1 个回答

select * from table where harvest_data > today group by farm_info_id order by harvest_data asc
如果 5.7 版本以前可以这样执行。
如果是 5.7 版本及以上这样会报错,新版本需要 group by 的字段必须跟select 字段一致,不然select 的字段需要使用聚合函数。
select * from table where id in (select id from table where harvest_data > today group by farm_info_id,id order by harvest_data asc)
5.7 版本可以这样使用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题