MySQL 添加计数作为列进行查询
MySQL add count to query as column
我想要 运行 一个查询,返回满足特定条件的每条记录,并给出在我的 table.[=17= 中出现的总次数]
所以如果我 运行:
SELECT id from history where id like "%CLM%";
我从我的 table 中获取 id
的每个实例,其中 "CLM" 位于 id
中的某处。我想要在旁边的列中计算找到该特定记录的次数,但我似乎不知道该怎么做。
我正在寻找的是这样的:
╔══════╦═══════╗
║ id ║ count ║
╠══════╬═══════╣
║ CLM1 ║ 1 ║
║ CLM2 ║ 5 ║
║ CLM3 ║ 13 ║
╚══════╩═══════╝
我试过 SELECT id, count(id) from history
但它 returns 这个:
╔══════╦══════════╗
║ id ║ count ║
╠══════╬══════════╣
║ ║ 12258432 ║
╚══════╩══════════╝
如何编写此查询?
如您所见,您可以使用 count
函数来计算行数。但是,您缺少的部分是根据 id
分解此结果,这可以通过 group by
子句完成:
SELECT id, COUNT(*)
FROM history
WHERE id LIKE '%CLM%'
GROUP BY id
SELECT id, count(*)
from history
where id like "%CLM%"
GROUP BY id
我想要 运行 一个查询,返回满足特定条件的每条记录,并给出在我的 table.[=17= 中出现的总次数]
所以如果我 运行:
SELECT id from history where id like "%CLM%";
我从我的 table 中获取 id
的每个实例,其中 "CLM" 位于 id
中的某处。我想要在旁边的列中计算找到该特定记录的次数,但我似乎不知道该怎么做。
我正在寻找的是这样的:
╔══════╦═══════╗
║ id ║ count ║
╠══════╬═══════╣
║ CLM1 ║ 1 ║
║ CLM2 ║ 5 ║
║ CLM3 ║ 13 ║
╚══════╩═══════╝
我试过 SELECT id, count(id) from history
但它 returns 这个:
╔══════╦══════════╗
║ id ║ count ║
╠══════╬══════════╣
║ ║ 12258432 ║
╚══════╩══════════╝
如何编写此查询?
如您所见,您可以使用 count
函数来计算行数。但是,您缺少的部分是根据 id
分解此结果,这可以通过 group by
子句完成:
SELECT id, COUNT(*)
FROM history
WHERE id LIKE '%CLM%'
GROUP BY id
SELECT id, count(*)
from history
where id like "%CLM%"
GROUP BY id