我得到了以下mysql表
PrefixID + Prefix
001 + 110
005 + 550
005 + 550
005 + 550
005 + 550
我想把它变成下表
PrefixID + Prefix + Count
001 + 110 + 1
005 + 550 + 4
计数只是那个特定前缀的频率我怎么能做到这一点?
我得到了以下mysql表
PrefixID + Prefix
001 + 110
005 + 550
005 + 550
005 + 550
005 + 550
我想把它变成下表
PrefixID + Prefix + Count
001 + 110 + 1
005 + 550 + 4
计数只是那个特定前缀的频率我怎么能做到这一点?
使用GROUP BY
子句和COUNT()
聚合:
SELECT `PrefixID`
, `Prefix`
, COUNT(1) AS `Count`
FROM mytable
GROUP BY `PrefixID`, `Prefix`
从您的示例数据来看,Prefix
and似乎PrefixID
是相关的(一一对应)。您可能需要调整查询,这取决于您是否要保证结果集中的PrefixID
orPrefix
是唯一的。
试试这个:
SELECT
PrefixID,
MAX(Prefix) as Prefix,
Count(Prefix) as Count
FROM table
GROUP BY PrefixID
试试这个 :
Select
PrefixID, Prefix, count(Prefix)
from table
group by Prefix