目标:连接两个表,由一列(ui.UNO),然后GROUP BY(images.INO)排序。多表查询ORDER BY然后GROUP 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
。
$query="
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'和'WHERE'条款。因为你说“ui.UNO = $ UNO”,它首先检查命令,如果它是真的还是假的,然后返回1或0 –
什么是您预期的结果? – Shafeeque
嗨马蒂,我不知道我得到你100%,如果我不使用GROUP BY我得到重复的结果,我想到GROUP BY的唯一原因是因为它做我所需要的,但不是与ORDER BY,所以它似乎是或者,或者是另一种选择。谢谢你的帮助。 – user2784408