繁体   English   中英

如何计算每个状态在SQL表中出现的次数

[英]How to count number of times each state appears in SQL table

我有一个包含三列的SQL表: 名称出生日期当前状态 我想返回一个结果集,其中包含每个状态在原始表中出现的次数。 结果集将包含两列: statecount

我猜我将需要使用GROUP BYCOUNT但是我无法将其放在一起。

你可以这样

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中查看此示例


1 https://www.techonthenet.com/sql/count.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM