我有这样的查询
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
有人知道怎么可能这样做?
答案 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`
在您的情况下可能有更好的方法可以做到这一点,但如果不知道您的表格结构并且可能会看到一些示例数据,这很难说清楚。