select SUM(CASE WHEN MI_VALUE IS NULL THEN 1 WHEN MI_VALUE ='null' THEN 1 ELSE 0 END) SL from CPM_EM_MNTING_W where GX_TIME >= SYSDATE - 1 group by SUBSTR(MI_CODE,1,5),''
时间: 2024-04-13 08:31:04 浏览: 144
sql学习之CASE WHEN THEN ELSE END的用法
您的第一个问题是关于一个 SQL 查询语句的结果,查询语句中使用了 SUM 和 CASE WHEN 语句来统计满足特定条件的记录数量。根据您的查询条件,假设您想要统计在 CPM_EM_MNTING_W 表中,MI_VALUE 字段为 NULL 或 'null' 的记录数量,并按照 MI_CODE 字段的前五个字符进行分组。
以下是您的查询语句:
```sql
SELECT
SUM(CASE WHEN MI_VALUE IS NULL THEN 1 WHEN MI_VALUE = 'null' THEN 1 ELSE 0 END) AS SL
FROM
CPM_EM_MNTING_W
WHERE
GX_TIME >= SYSDATE - 1
GROUP BY
SUBSTR(MI_CODE, 1, 5)
```
请注意,SYSDATE 是 Oracle 数据库函数,表示当前日期和时间。如果您使用的是其他数据库,可能需要根据具体数据库的函数来替换 SYSDATE。
以上查询将返回一个名为 SL 的列,其中包含满足条件的记录数量。同时,结果将按照 MI_CODE 字段的前五个字符进行分组。
如果您有任何其他问题,请随时提问。
阅读全文