我进行查询以查找来自三个不同表格的最后24个结果。
查询是:
SELECT m.MovID,m.Type,m.Image,m.Date,t.SerID,t.Type,t.Image,t.Date,g.GamID,g.Type,g.Image,g.Date
FROM movie m, tvseries t, games g
GROUP BY m.MovID, t.SerID, g.GamID
LIMIT 0,24
但是在此查询的结果中 group by 无效。
答案 0 :(得分:1)
SELECT
中显示的所有列都应该:
GROUP BY
部分或SUM
,AVG
等。答案 1 :(得分:1)
没有关于您的查询有什么问题的更多信息或您期望Vs的结果。您收到的内容,我认为您应该在m.MovID
中添加SELECT
。最佳做法是GROUP BY
您SELECT
以及SELECT
您GROUP BY
的内容。
答案 2 :(得分:1)
GROUP BY
不是问题(至少不是主要问题)。
真正的问题是您从3个表中选择数据而不加入它们。这部分查询:
from movie m
, tvseries t
, games g
表示第一个表的每一行与第二个表的每一行的所有组合以及第三个表的每一行。这就是你想要的吗?
FROM movie m
CROSS JOIN tvseries t
CROSS JOIN games g
很可能你想要JOIN
3个表:
FROM movie m
INNER JOIN tvseries t
ON t.someColumn = m.someColumn
INNER JOIN games g
ON g.someOtherColumn = m.someOtherColumn