MySQL聚合行结果计数

时间:2016-08-01 14:56:52

标签: mysql

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

例如:

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

如果我在寻找一些独特的名字,如果可能的话,我怎么能实现这个目标?

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

Player1 | 11

Player2 | 15

Player3 | 17

有没有办法返回结果数,这可能是三(3)?

2 个答案:

答案 0 :(得分:0)

这是使用子查询的一个选项:

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

答案 1 :(得分:0)

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