0

我得到了以下mysql表

PrefixID + Prefix
001      + 110
005      + 550
005      + 550
005      + 550
005      + 550

我想把它变成下表

PrefixID + Prefix + Count
001      + 110    + 1
005      + 550    + 4

计数只是那个特定前缀的频率我怎么能做到这一点?

4

3 回答 3

2

使用GROUP BY子句和COUNT()聚合:

SELECT `PrefixID`
     , `Prefix`
     , COUNT(1) AS `Count`
  FROM mytable
 GROUP BY `PrefixID`, `Prefix`

从您的示例数据来看,Prefixand似乎PrefixID是相关的(一一对应)。您可能需要调整查询,这取决于您是否要保证结果集中的PrefixIDorPrefix是唯一的。

于 2012-12-13T20:13:18.983 回答
1

试试这个:

SELECT
  PrefixID,
  MAX(Prefix) as  Prefix,
  Count(Prefix) as Count
FROM table
GROUP BY PrefixID
于 2012-12-13T20:13:42.993 回答
1

试试这个 :

Select 
PrefixID, Prefix, count(Prefix)
from table
group by Prefix
于 2012-12-13T20:14:14.147 回答