我在数据库中有一个标签列表。
例如:
villan
hero
spiderman
superman
superman
我想获得一个按升序排列的标记名列表,以及唯一标记在数据库中出现的次数。我写了这段代码:
例如:
SELECT hashtag.tag_name
, COUNT( * ) AS number
FROM hashtag
GROUP BY hashtag.tag_name
ORDER BY hashtag.tag_name ASC
这会产生正确的结果:
hero , 1
spiderman , 1
superman , 2
villan , 1
如何获取整个列表的完整计数。在这种情况下,答案应该是4,因为自然有4行。在语句不失败的情况下,我似乎无法获得正确的COUNT()。
非常感谢您的帮助!:)
发布于 2010-05-27 12:40:36
SELECT COUNT(DISTINCT `tag_name`) FROM `hashtag`
发布于 2010-05-27 12:40:56
使用COUNT DISTINCT(hashtag.tag_name)
--它不能在与您相同的SELECT
中运行(当然,使用UNION
除外),但是在它自己的SELECT
(或适当的UNION
)上,它会给出您想要的结果。
发布于 2010-05-27 12:44:24
我不确定my-sql中的查询,但这个查询在oracle中工作得很好。
SELECT hashtag.tag_name, count(*) FROM hashtag GROUP BY cube(hashtag.tag_name)
https://stackoverflow.com/questions/2918498
复制相似问题