gpt4 book ai didi

mysql - 多表查询 ORDER BY 然后 GROUP BY

转载 作者:行者123 更新时间:2023-11-30 23:13:42 24 4
gpt4 key购买 nike

目标:JOIN 两个表,按一列排序 (ui.UNO),然后按 GROUP BY (images.INO)。

问题:ORDER BY 返回重复的结果,正如您所期望的那样,但是当我尝试 ORDER BY 将当前用户图像置于顶部时,如果我 GROUP BY 只显示第一个结果,无论它是否链接到另一个结果用户。

例如:在下表中,我正在寻找第二个结果,但如果我使用 GROUP BY,则只会显示第一个结果,并且任何链接数据 (ui.IUTally) 都是错误的。提前感谢您的帮助。

Images                          
INO | IName | IDescription
3 | Sports | "......"
3 | Sports | "......"

UI
UNO | INO | IUTally
4 | 3 | 12
7 | 3 | 6

.

SELECT images.INO, images. IName, ui. UNO, ui. IUTally
FROM images
LEFT JOIN ui ON images. INO = ui. INO
GROUP BY images. INO
ORDER BY ui. UNO = $uno DESC

Images / UI
INO | IName | UNO | INO | IUTally
3 | Sports | 4 | 3 | 12
3 | Sports | 7 | 3 | 6

最佳答案

这是先对结果进行排序然后对它们进行分组的一种方法,但这个技巧包括子选择,在单个查询中你不能在 GROUP BY 之前使用 ORDER BY所以试试这个

SELECT q.* FROM (
SELECT images.INO, images. IName, ui. UNO, ui. IUTally
FROM images
LEFT JOIN ui ON images. INO = ui. INO
ORDER BY ui. UNO = $uno DESC
) q GROUP BY q. INO

它会先对你的结果进行排序,然后再对它们进行分组

关于mysql - 多表查询 ORDER BY 然后 GROUP BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18833990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com