我得到了以下mysql表
PrefixID + Prefix
001 + 110
005 + 550
005 + 550
005 + 550
005 + 550
我想把它变成下表
PrefixID + Prefix + Count
001 + 110 + 1
005 + 550 + 4
Count只是该特定前缀的频率 我怎么能实现这个目标?
答案 0 :(得分:2)
使用GROUP BY
子句和COUNT()
聚合:
SELECT `PrefixID`
, `Prefix`
, COUNT(1) AS `Count`
FROM mytable
GROUP BY `PrefixID`, `Prefix`
根据您的示例数据,似乎Prefix
和PrefixID
是相互依赖的(一对一对应)。您可能需要调整查询,具体取决于您是否要保证{PrefixID
1}}或Prefix
在结果集中是唯一的。
答案 1 :(得分:1)
试试这个:
SELECT
PrefixID,
MAX(Prefix) as Prefix,
Count(Prefix) as Count
FROM table
GROUP BY PrefixID
答案 2 :(得分:1)
试试这个:
Select
PrefixID, Prefix, count(Prefix)
from table
group by Prefix