![](/img/trans.png)
[英]Count the number of times each members name appears in a table with a condition
[英]How to count number of times each state appears in SQL table
我有一个包含三列的SQL表: 名称 , 出生日期和当前状态 。 我想返回一个结果集,其中包含每个状态在原始表中出现的次数。 结果集将包含两列: state和count 。
我猜我将需要使用GROUP BY
或COUNT
但是我无法将其放在一起。
你可以这样
SELECT current_state, count(current_state) FROM table GROUP BY current_state
以下语法适用于大多数 SQL引擎:
SELECT expression1, expression2, ... expression_n, COUNT(aggregate_expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n [ORDER BY expression [ ASC | DESC ]];
参数或参数
expression1,expression2,... expression_n
未封装在COUNT函数中并且必须包含在SQL语句末尾的GROUP BY子句中的表达式。
聚合_表达
这是将计算非空值的列或表达式。
桌子
您希望从中检索记录的表。 在FROM子句中必须至少列出一个表。
条件
可选的。 这些是选择记录必须满足的条件。
ORDER BY表达式
可选的。 该表达式用于对结果集中的记录进行排序。 如果提供了多个表达式,则这些值应以逗号分隔。
ASC
可选的。 ASC按表达式升序对结果集进行排序。 如果没有提供者,则这是默认行为。
数据中心
可选的。 DESC按表达式对结果集进行降序排序。
1个
请参阅文档以了解所使用的特定引擎:
...等等
对于“ 问题 ”
我有一个包含三列的SQL表:名称,出生日期和当前状态。 我想返回一个结果集,其中包含每个状态在原始表中出现的次数。 结果集将包含2列:状态和计数。
这样的查询可以这样构造:
SELECT current_state as state, count(*) as count
FROM data
GROUP BY current_state
在此SQLfiddle中查看此示例 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.