2016-08-01 58 views
0

MySQL中有一种简单的方法可以返回聚合结果行的数量吗?MySQL聚合行结果计数

例如:

SELECT `name`, SUM(`points`) 
FROM `goals` 
GROUP BY `name` 
HAVING SUM(`points`) > 10 

如果我正在寻找唯一的名称的号码,如果可能的话,怎么可能我做到这一点?

例如,如果返回数据集是:

Player1 | 11

Player2 | 15

Player3 | 17

有没有办法返回结果的数量,这将是三(3)?

回答

0

下面是一个使用子查询一个选项:

SELECT COUNT(*) 
FROM (
    SELECT `name`, SUM(`points`) 
    FROM `goals` 
    GROUP BY `name` 
    HAVING SUM(`points`) > 10 
) t 
0
select count(*) as num_of_records 
from 
(
    SELECT name 
    FROM goals 
    GROUP BY name 
    HAVING SUM(points) > 10 
) tmp