2011-02-25 67 views
0

我当前的查询如下:如何将HAVING和GROUP BY组合到同一个SQL中?

SELECT user_id, sum(...) as total from mytable 
group by user_id 

工作正常

然而,当我尝试

SELECT user_id, sum(...) as total from mytable 
group by user_id 
having total >= 10 

我得到一个错误

SELECT user_id, sum(...) as total from mytable 
having total >= 10 

工作正常。我如何结合HAVING和GROUP BY?

+0

你会得到什么错误?运行所有三个查询都适用于我,我只是得到不同的结果集。 – BoltClock 2011-02-25 11:55:40

+0

'@deltanovember:'你使用哪个数据库? – Wowa 2011-02-25 12:57:52

回答

3
SELECT user_id, sum(...) as total from mytable 
group by user_id 
having SUM(...) >= 10 
+0

不管是使用total还是sum(...)'... – BoltClock 2011-02-25 11:56:04

+0

不知道这是怎么解决问题的! – rkg 2011-02-25 11:59:49

+1

'@BoltClock:'它依赖于数据库。 mysql也有'total',而mssql没有。 – Wowa 2011-02-25 12:56:40

0

HAVING与集合函数一起使用,而不是列。这就像where子句,但对于聚合。