我想运行一个查询,该查询将返回满足特定条件的每条记录,并给出表中出现的总次数。
所以如果我跑:

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/

10-10 09:03
查看更多