计算mysql中的列项

时间:2014-12-15 13:20:11

标签: mysql sql select count group-by

我有一个名为" WasCancelled"在MySQL DB中,它是一个布尔类型。

我将数字0,1和2保存到它。

我需要一个可以计算有多少个,两个和零的查询。

例如: 我的专栏:

WasCanceled
-----------
    0
    0
    1
    1
    1
    2
    0
    0   
    0
    2
    0
    0
    1

我需要输出查询:

 number | times
 -------|------
  "0"   |   7
  "1"   |   4
  "2"   |   2

请帮忙。

谢谢。

戴夫。

4 个答案:

答案 0 :(得分:3)

您可以通过分组来完成此操作:

SELECT WasCancelled, COUNT(*)
FROM <Table>
GROUP BY WasCancelled

如果您需要更多信息,请查看此处了解有关Group ByCount的详细信息。

更新

要在评论中包含问题:要限制特殊值,您可以添加WHERE子句:

SELECT WasCancelled, COUNT(*)
FROM <Table>
WHERE WasCancelled = "1"
GROUP BY WasCancelled

在进一步的问题中,请编辑您的整体问题,以包含子问题或打开新主题。请阅读How To Ask Good Questions

更新2

SQL也允许HAVING子句,类似于WHERE,但允许比较聚合值。有关详细信息,请参阅here(例如,您想知道哪个值出现的次数超过5次等)。

答案 1 :(得分:0)

GROUP BY COUNT 功能一起使用:

试试这个:

SELECT WasCanceled, COUNT(1) as times 
FROM tableA 
GROUP BY WasCanceled;

答案 2 :(得分:0)

我认为这可能有用!

select
  count(WasCanceled) as CNT, WasCancelled
from
  YourTableNameHere
group by
  WasCanceled

答案 3 :(得分:0)

这对我有用

SELECT WasCanceled AS number, COUNT(WasCanceled) AS times FROM tblTest GROUP BY WasCanceled