orcale中case when和group by同时使用会报无效标识符
不可以使用case when 的列名進行group by,如:
select count(1)/7 as "平均違法數量",
to_char(wfsj, 'yyyy-MM-dd' ) as time,
case
when (to_char(wfsj, 'hh24')) between 00 and 04 then
'00-04時'
when (to_char(wfsj, 'hh24')) between 04 and 08 then
'04-08時'
when (to_char(wfsj, 'hh24')) between 08 and 12 then
'08-12時'
when (to_char(wfsj, 'hh24')) between 12 and 16 then
'12-16時'
when (to_char(wfsj, 'hh24')) between 16 and 20 then
'16-20時'
when (to_char(wfsj, 'hh24')) between 20 and 24 then
'20-24時'
end as "違法時間"
from
vio_violation
where wfsj >= trunc(sysdate - 7)
group by "違法時間";
正確sql:
select count(1)/7 as "平均違法數量",
to_char(wfsj, 'yyyy-MM-dd' ) as time,
case
when (to_char(wfsj, 'hh24')) between 00 and 04 then
'00-04時'
when (to_char(wfsj, 'hh24')) between 04 and 08 then
'04-08時'
when (to_char(wfsj, 'hh24')) between 08 and 12 then
'08-12時'
when (to_char(wfsj, 'hh24')) between 12 and 16 then
'12-16時'
when (to_char(wfsj, 'hh24')) between 16 and 20 then
'16-20時'
when (to_char(wfsj, 'hh24')) between 20 and 24 then
'20-24時'
end as "違法時間"
from
vio_violation
where wfsj >= trunc(sysdate - 7)
group by wfsj;
轉載于:https://www.cnblogs.com/ww5566/p/11124851.html
總結
以上是生活随笔為你收集整理的orcale中case when和group by同时使用会报无效标识符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 流畅的python mobi_流畅的Py
- 下一篇: Xcode低版本运行高版本真机(xcod