如何在SQL中计算多个案例语句,包括最终的"if"语句?



假设我有一个问题,要求根据几个条件计算订单数量:-

  1. 设备类型"AND Price <<2美元/gh>
  2. 设备类型"A"价格在2-3美元之间
  3. 设备类型"B"AND Price><3美元/gh>

回答问题的示例查询如下:-

SELECT
COUNT(CASE WHEN Device Type = "A" AND Price < 2 THEN '1' END),
COUNT(CASE WHEN Device Type = "A" AND Price IN (2,3) THEN '1' END),
COUNT(CASE WHEN Device Type = "B" AND Price > 3 THEN '1' END)
FROM table

我的问题是:我如何将最后一个条件(4)计算为"其他"?(例如,可以是设备类型A,但超过$3或设备类型B,但低于$3)

我是一个初学者SQL用户,所以我很抱歉,如果这似乎是一个直接的答案,盯着我的脸。

SELECT
COUNT(CASE WHEN DeviceType = 'A' AND Price < 2 THEN '1' END),
COUNT(CASE WHEN DeviceType = 'A' AND Price IN (2,3) THEN '1' END),
COUNT(CASE WHEN DeviceType = 'B' AND Price > 3 THEN '1' END),
COUNT(CASE WHEN (DeviceType = 'A' AND Price < 2)
OR (DeviceType = 'A' AND Price IN (2,3))
OR (DeviceType = 'B' AND Price > 3) THEN NULL ELSE 1 END)
FROM yourTable;

最新更新