SELECT tb.userInfoId,MAX(hk.backTime) backTime,hk.backMoney
FROM (SELECT orderCode,backTime,backMoney
FROM repaymentList
WHERE backTime <= NOW()) hk
INNER JOIN OrderList tb ON tb.orderCode = hk.orderCode
GROUP BY tb.userInfoId
hk.backMoney这个字段会显示的是最大的hk.backTime对应的数据吗?
多个字段使用聚合函数之后,如果没有对其它的字段进行分组,这时候只有一条,其他字段是怎么取的.?
hk.backMoney这个字段会显示的是最大的hk.backTime对应的数据吗?
因为你用了 Group By 所以显示的是同一个 userInfoId 下最大的那个 hk.backTime
多个字段使用聚合函数之后,如果没有对其它的字段进行分组,这时候只有一条,其他字段是怎么取的?
其他的字段的取法和你使用的数据库具体实现相关,可能是默认排序,也有可能是随机返回,所以一般来说在聚合查询中, Select 非聚合字段没有意义。如果想要实现类似取出某个用户最近的一条操作记录的话,那么就需要在外面再包一层查询语句。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。