我想运行一个查询,该查询将返回满足特定条件的每条记录,并给出表中出现的总次数。
所以如果我跑:
SELECT id from history where id like "%CLM%";
我从表中获取
id
的每个实例,其中“CLM”位于id
中的某个位置。我想在旁边的专栏中列出找到特定记录的次数,但我似乎不知道如何做到这一点。我要找的是这样的:
╔══════╦═══════╗
║ id ║ count ║
╠══════╬═══════╣
║ CLM1 ║ 1 ║
║ CLM2 ║ 5 ║
║ CLM3 ║ 13 ║
╚══════╩═══════╝
我试过
SELECT id, count(id) from history
,但它返回:╔══════╦══════════╗
║ id ║ count ║
╠══════╬══════════╣
║ ║ 12258432 ║
╚══════╩══════════╝
如何编写此查询?
最佳答案
如您所见,您可以使用count
函数计算行数。但是,您缺少的部分是根据id
分解此结果,这可以通过group by
子句完成:
SELECT id, COUNT(*)
FROM history
WHERE id LIKE '%CLM%'
GROUP BY id
关于mysql - MySQL添加计数作为列查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33154234/