mysql查询计数

时间:2012-12-13 20:10:13

标签: mysql mysql-workbench

我得到了以下mysql表

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

我想把它变成下表

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

Count只是该特定前缀的频率 我怎么能实现这个目标?

3 个答案:

答案 0 :(得分:2)

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

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

根据您的示例数据,似乎PrefixPrefixID是相互依赖的(一对一对应)。您可能需要调整查询,具体取决于您是否要保证{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