我想知道如何组合这两个查询。如何结合2个MySQL查询?
这是MySQL的查询。
SELECT COUNT(user_id) as users, user_id
FROM users_text
GROUP BY user_id
SELECT SUM(grade_points) as 'points'
FROM grades
ORDER BY points DESC
我想知道如何组合这两个查询。如何结合2个MySQL查询?
这是MySQL的查询。
SELECT COUNT(user_id) as users, user_id
FROM users_text
GROUP BY user_id
SELECT SUM(grade_points) as 'points'
FROM grades
ORDER BY points DESC
我这里假设你想每用户总结了几点:
SELECT user_id, SUM(grade_points) as 'points'
FROM grades
GROUP BY user_id
ORDER BY points DESC
如果表结构反映了这个查询,我会和这个一起去的,即使它不清楚这个问题。 – DrColossos 2010-06-21 07:59:12
@DrColossos:是的,表结构会有一定的帮助 – knittl 2010-06-21 08:07:16
不,你不能,因为你有两个完全分开的查询 - 为此,你将不能够结合这些使用JOIN。
为此,他们需要至少有一个共同的领域。
我会试试这个(假设成绩表有一个user_id列)
SELECT COUNT(user_id) as users, user_id, (SELECT SUM(g.grade_points) FROM grades g WHERE g.user_id = user_id) as 'points'
FROM users_text
GROUP BY user_id
“假设成绩表有一个user_id专栏” - 这似乎不是这种情况 – Thariama 2010-06-21 07:58:34
你有一点,但如果不是这样的话,那么我完全不明白他为什么要结合查询:) – 2010-06-21 08:15:21
你的第二个查询只会返回一个单行。你想如何结合他们? 'grades'和'users_text'之间的关系是什么?你想要每个用户的积分总和吗? – knittl 2010-06-21 07:48:27
这些是两个不同的查询,两个不同的结果,你会澄清你的意思吗? – 2010-06-21 07:48:53
是users_test并以某种方式评分相关吗?他们有共同的领域吗? – TooAngel 2010-06-21 07:49:55