我想运行一个查询,它会返回符合特定条件的每条记录,并给出我在表格中出现的总次数。
所以,如果我跑:
SELECT id from history where id like "%CLM%";
我从我的表中获取id
的每个实例,其中“CLM”位于id
中的某个位置。在NEXT列中我想要的是计算特定记录的次数,我似乎无法弄清楚如何做到这一点。
我正在寻找的是这样的:
╔══════╦═══════╗
║ id ║ count ║
╠══════╬═══════╣
║ CLM1 ║ 1 ║
║ CLM2 ║ 5 ║
║ CLM3 ║ 13 ║
╚══════╩═══════╝
我已尝试SELECT id, count(id) from history
,但它会返回:
╔══════╦══════════╗
║ id ║ count ║
╠══════╬══════════╣
║ ║ 12258432 ║
╚══════╩══════════╝
如何撰写此查询?
答案 0 :(得分:5)
如您所见,您可以使用count
函数计算行数。但是,您缺少的部分是按id
细分此结果,可以使用group by
子句来完成:
SELECT id, COUNT(*)
FROM history
WHERE id LIKE '%CLM%'
GROUP BY id
答案 1 :(得分:0)
SELECT id, count(*)
from history
where id like "%CLM%"
GROUP BY id