group by SUBSTR(MI_CODE,1,5),''
时间: 2024-01-08 18:02:50 浏览: 219
在您的查询语句中,group by 子句用于按照指定的列或表达式对结果进行分组。在您的情况下,您使用了 SUBSTR(MI_CODE, 1, 5) 对 MI_CODE 字段的前五个字符进行分组。
然而,在 group by 子句中出现了一个空字符串 (''),这是不合法的。group by 子句应该包含要分组的列或表达式。
如果您想要仅按照 MI_CODE 字段的前五个字符进行分组,您可以简单地修改查询语句如下:
```sql
SELECT
SUBSTR(MI_CODE, 1, 5) AS MI_CODE_PREFIX,
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)
```
在修改后的查询中,我们添加了一个别名为 MI_CODE_PREFIX 的列来存储 MI_CODE 字段的前五个字符。同时,我们按照该列进行分组,并统计满足条件的记录数量。
如果您有任何其他问题,请随时提问。
相关问题
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),''
您好!根据您的查询需求,我可以帮您编写一个SQL查询语句。请注意,我将使用占位符来代替您提供的空白部分。以下是您的查询语句:
```sql
SELECT SUBSTR(MI_CODE, 1, 5) AS SUB_CODE, 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)
```
请将占位符替换为适当的值,并在执行查询之前确保数据库连接和表结构的正确设置。如果您有任何进一步的问题,请随时提问!
阅读全文