SQL,如何使用统计相同表结构中的单元数但不同的id

时间:2018-06-19 10:52:21

标签: sql

unit_table
UNIT_ID STATUS_ID
1个
2个2
3个2
4个3
5 3

上面显示了一个包含2个不同表结构的示例表,它是unit_id和status_id,现在我想编写一个查询来查明有多少个单元,其中status_id是1,2或3.我已经编写了一个SQL,如图所示下面: -

select count(unit_id) 
where status_id =1 ..

但是我被困在这里...因为我不知道如何使用where子句来计算具有不同状态id的单位。
有人有任何想法吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT status_id, COUNT(*) AS cnt
FROM yourTable
WHERE status_id IN (1, 2, 3)
GROUP BY status_id;

答案 1 :(得分:0)

SELECT COUNT(*), Status_id FROM unit_table GROUP BY Status_id

如果你想计算每个Status_id有多少不同的Unit_id,那么:

SELECT COUNT(DISTINCT Unit_id), Status_id FROM unit_table GROUP BY Status_id

希望有所帮助