2010-06-21 82 views
0

我想知道如何组合这两个查询。如何结合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

你的第二个查询只会返回一个单行。你想如何结合他们? 'grades'和'users_text'之间的关系是什么?你想要每个用户的积分总和吗? – knittl 2010-06-21 07:48:27

+0

这些是两个不同的查询,两个不同的结果,你会澄清你的意思吗? – 2010-06-21 07:48:53

+0

是users_test并以某种方式评分相关吗?他们有共同的领域吗? – TooAngel 2010-06-21 07:49:55

回答

1

我这里假设你想每用户总结了几点:

SELECT user_id, SUM(grade_points) as 'points' 
    FROM grades 
GROUP BY user_id 
ORDER BY points DESC 
+0

如果表结构反映了这个查询,我会和这个一起去的,即使它不清楚这个问题。 – DrColossos 2010-06-21 07:59:12

+0

@DrColossos:是的,表结构会有一定的帮助 – knittl 2010-06-21 08:07:16

2

不,你不能,因为你有两个完全分开的查询 - 为此,你将不能够结合这些使用JOIN

为此,他们需要至少有一个共同的领域。

1

我会试试这个(假设成绩表有一个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 
+0

“假设成绩表有一个user_id专栏” - 这似乎不是这种情况 – Thariama 2010-06-21 07:58:34

+1

你有一点,但如果不是这样的话,那么我完全不明白他为什么要结合查询:) – 2010-06-21 08:15:21