SQL查询以获取计数和按输出值分组

Bhaskar:

我有下表。

表名:机器

id  machine_type    current_usage       max_capacity
1   1               25                  500  
2   1               20                  500  
3   2               300                 400  
...

编写查询未满负荷机器的数量很容易。

SELECT machine_type, count(*) FROM Machine WHERE ROUND((current_usage/max_capacity)*100, 2) < 100.00 GROUP BY machine_type;

但是我正在尝试编写SQL查询以以下格式输出数据

machine_type    thirty_percent  sixty_percent   more_than_sixty
1               25              40              50
2               40              15              25
3               60              10              55
...

thirty_percent = Number of machines whose usage is <= 30% usage
sixty_percent = Number of machines whose usage is > 30% and <=60% usage
more_than_sixty = Number of machines whose usage is > 60% and < 100% usage

我可以为每个使用窗口修改查询,但这将是三个语句。有没有办法在单个SQL语句中执行此操作?

戈登·利诺夫(Gordon Linoff):

您可以使用条件聚合:

SELECT machine_type,
       SUM(current_usage / max_capacity < 0.30) as percent_30,
       SUM(current_usage / max_capacity >= 0.3 and current_usage / max_capacity < 0.60) as percent_60,
       SUM(current_usage / max_capacity >= 0.60) as percent_60_plus
FROM Machine
GROUP BY machine_type;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过SQL查询获取计数和按国家分组

SQL查询:计数,按日期和年份分组的多列

SQL 查询:对不同的值进行分组和计数

SQL和按查询分组

如何获取按行分组的计数 - SQL

如何编写SQL查询以按类型进行选择和分组以及按类型进行计数?

Splunk 中按日期按字段值分组的输出计数

如何按SQL查询排序和分组?

SQL:按相似值对结果进行计数和分组的有效方法

Pandas Python-按分组值获取值计数

按计数分组以获取集合中的布尔值

Oracle查询按连续值分组并获取开始日期和结束日期

MySQL 5.7-如何获取最大值的ID和按查询分组?

按 1 行 sql 查询获取不分组的最大值

SQL查询按日期时间分组并获取其他2个字段的总计值

SQLite 1列中的值计数和按ID分组

熊猫数据框。按值和计数分组

按值分组和计数行,直到它改变

SQL查询,输出按“不变性”分组

SQL:查询两个单独的表并返回计数值,然后按两个返回值分组

SQL查询基于时间戳选择按小时(col)和工作日(行)分组的值

按天计数和分组

SQL:获取具有计数语句的分组查询的总和

SQL查询,用于查找按值分组的最频繁的值

获取按注释值范围分组的查询集对象

Haversine Formula SQL查询中的记录分组和计数

使用Retrosheet棒球数据对SQL查询进行分组和计数

在Chart中显示SQL查询的结果(计数(*)和分组依据)

Laravel查询,分组和计数