从sql查询结果中获取计数

时间:2014-10-28 16:17:21

标签: mysql sql

我有这样的查询

SELECT `id`
FROM (`TABLE`)
WHERE date(FROM_UNIXTIME(time)) >= '2013-10-28'
GROUP BY `last`
ORDER BY `id_s` DESC

结果是:

  

| id |

     

9
  1
  1
  9
  50个
  3
  1个

我的问题是如何计算结果中重复数字9的次数?

因此,最终结果必须是一行,编号为2

有人知道怎么可能这样做?

2 个答案:

答案 0 :(得分:1)

您可以使用count(*)

SELECT count(distinct last)
FROM (TABLE)
WHERE date(FROM_UNIXTIME(time)) >= '2013-10-28' AND
      id = 9 ;

我不确定group by到底做了什么,所以可能就足够了:

SELECT count(*)
FROM (TABLE)
WHERE date(FROM_UNIXTIME(time)) >= '2013-10-28' AND
      id = 9 ;

答案 1 :(得分:1)

您可以使用已有的结果集,从中选择id = 9并计算行数:

SELECT COUNT(*)
FROM (
  --your current query here
) WHERE `id`=9
GROUP BY `id`

在您的情况下可能有更好的方法可以做到这一点,但如果不知道您的表格结构并且可能会看到一些示例数据,这很难说清楚。