不可以使用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同时使用会报无效标识符相关推荐

  1. IsNull 和 SQL语句中CASE WHEN用法

    [转]IsNull 和 SQL语句中CASE WHEN用法收藏   [转]IsNull 和 SQL语句中CASE WHEN用法 1.ISNULL     使用指定的替换值替换   NULL.      ...

  2. 深入理解mysql中case when流程控制语句

    介绍mysql数据库中case when语句的用法,首先介绍case when语句的基础知识,然后提供了相关例子.比较全面的掌握case when的用法,case when在平时的开发过程中还是使用得 ...

  3. oracle查询语句中select from where group by having order by的解释与应用

    oracle查询语句中select from where group by having order by的解释与应用 查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from- ...

  4. mysql 中 case语句吗_Mysql中的Case语句

    1.Case基本初识 case语句是mysql中的一个条件语句,可以在字段中使用case语句进行复杂的筛选以及构造新的字段.下面通过两个leetcode例子来详细解读case语句的功能: 1.1 Le ...

  5. sqlserver中case when then用法

     sqlserver中case when then用法 (2014-04-14 17:11:06) 标签: it 分类: 数据库-SQLServer sql语句判断方法之一  Case具有两种格式 ...

  6. 【SQL中case then的用法】

    SQL中case then的用法   当我们需要从数据源上直接判断数据显示代表的含义的时候 ,就可以在SQL语句中使用CASE THEN这个函数了.   其中case then有两种格式: 1.第一种 ...

  7. MySQL中Case When用法详解

    最近,在学习Hive基础知识时,遇到了遇到了Case When Else End语法,以前学习MySQL时忽略了这部分知识点,现总结一下相关的知识给大家.首先练习一个例子如下: 一.学生课程成绩统计 ...

  8. switch中case后可以是表达式吗_自学C++基础教程【流程控制语句】(switch语句 )...

    switch语句:又被称之为 分支选择语句,它提供了一种更方便的方法来实现深层嵌套的if.else逻辑: switch语句先计算表达式的值,并逐个与其后的常量表达式的值相比较,当表达式的值与某个常量表 ...

  9. 查询语句中select from where group by having order by的执行顺序

    查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为  select--from--whe ...

最新文章

  1. jquery设置div高度和easyui的dialog动态的指定高度
  2. Lesson3 Shader着色器
  3. matlab生成图像路径列表和标签,打乱顺序
  4. leetcode 850. Rectangle Area II | 850. 矩形面积 II(递归分割未重叠矩形)
  5. 数字图像处理技术在TWaver可视化中的应用
  6. 树的常见概念,二叉树的性质
  7. js:select的选择改变事件,获取当前选择的值
  8. 解决“终端服务器超过了最大允许连接数”
  9. SpringMVC @ResponseBody 406
  10. Android MonkeyTest 压力测试命令详解
  11. 修改表字段长度的操作,对业务是否有影响?
  12. LED的基本操作(138译码器 573锁存器)
  13. poj 3744 Scout YYF I (矩阵快速幂 优化 概率dp)
  14. 无源晶振匹配电容计算方法
  15. 使鼠标保持按住状态_让电脑也能听、会写、还会说!小米小爱鼠标抢先体验
  16. 这是你希望的自由职业么
  17. 20年ICPC澳门站L - Random Permutation
  18. 爆破无线路由器管理页面登录密码
  19. Map集合、Collections类
  20. left join 和 left outer join (可解决多个表left join的问题)

热门文章

  1. UML之涉众/参与者(角色/执行者)(Actor)/业务主角(BusinessActor)/业务工人(BusinessWorker)/用户/角色辨析【图解】...
  2. Node 连接Mysql并进行增删改查
  3. Cassandra1.2文档学习(5)—— Snitch
  4. 汕头市队赛 SRM16 T2
  5. 为什么程序员一定要加班?
  6. form表单元素设置只读
  7. SharePoint Server 2016 PWA(Project web app) 被变为只读模式
  8. Sql Server 2008将数据库导出sql脚本并导出数据
  9. 西电网络攻防大赛--渗透测试第二题
  10. modal vue 关闭_Vue弹出框的优雅实践