mysql - MySQL 使用 Group by 和 Order by
问题描述
我刚刚将我的网站移至新服务器。新服务器正在使用更新版本的 MySQL,这会导致 GROUP BY 和 ORDER BY 出现一些问题。我想知道是否有人可以帮助我解决这个问题,因为我尝试过的任何方法似乎都没有帮助。
我的查询如下所示:
SELECT ib_users.`id`
, ib_users.`name`
, ib_users.`surname`
, ib_users.`memberId`
, payment.`payment_date`
, payment.`pif`
, membership.`membership_date`
, membership.`type`
FROM `ib_users`
LEFT JOIN ( SELECT userid
, payment_date
, pif
FROM ( SELECT ib_membershipfees.`userid`
, ib_membershipfees.`fordate` `payment_date`
, ib_membershipfees.`pif`
FROM `ib_membershipfees`
ORDER BY payment_date DESC, added DESC
) vt
GROUP BY userid
) `payment`
ON payment.`userid` = ib_users.`id`
LEFT JOIN ( SELECT userid
, membership_date
, type
FROM ( SELECT ib_membership.`userid`
, ib_membership.`date` `membership_date`
, ib_membership.`type`
FROM `ib_membership`
ORDER BY membership_date DESC, added DESC
) vt
GROUP BY userid
) `membership`
ON membership.`userid` = ib_users.`id`
WHERE ib_users.`removed` = 'no'
问题在这里:
ORDER BY payment_date DESC, added DESC) vt
GROUP BY userid ) `payment` ON payment.`userid` = ib_users.`id`
排序不像以前那样工作,导致它从 ib_membershipfees 返回错误的行,因为由于某种原因没有应用 ORDER BY payment_date DESC。
有谁知道为什么这不再起作用,以及我该如何解决?非常感谢任何帮助。
解决方案
推荐阅读
- ios - N 个集合视图单元格 - 自动调整大小以显示屏幕中的所有单元格
- wordpress - 抛出新的错误。TypeError('ERR_INVALID_ARG_TYPE', 'original', 'function'); 当我尝试在本地 xubuntu 上运行 wp-env 时出错
- android - Firebase 中数据库的警告消息
- rotation - 沿给定轴旋转网格,然后再次沿不同轴正确旋转
- java - 在项目或库中找不到清单中引用的类 com.example.bottomnav.ClientBottomNav
- mysql - nodejs mysql验证值是否存在
- excel - 如何在for循环中解析具有多张工作表的Excel文件
- python-3.x - Python3 无法使用 lxml.etree.find 获取 XML 元素值
- javascript - 我将如何为我的 Electron 应用程序创建后端
- c - 在父目录中为源文件创建 Makefile