不可以使用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. 尚硅谷学习:createElement 方法笔记
  2. 简述Linux C下线程池的使用
  3. B1059 C语言竞赛
  4. mysql++月份排序_Mysql 按月份为组进行统计排序_MySQL
  5. docker 安装mysql 5.7
  6. jQuery——clone()方法
  7. 拓扑排序排课系统_视频结构化人脸布控系统
  8. 阿里MySQL读写一致_缓存与数据库读写一致的解决方案
  9. [转]论window和Linux之长短
  10. springcloud @ComponentScan 多模块 扫描其他模块
  11. UE4中VR项目的打包和发布
  12. 如今的iOS开发者优胜劣汰,如何提升让自己不被淘汰?
  13. 键盘控制盒子移动案例
  14. IEEE 754浮点数标准详解
  15. 如何成为ffmpeg开发者
  16. 51信用卡不止于想象力?
  17. 缓存服务器 MemcachedRedis
  18. html文本标签练习
  19. Increase and Decrease
  20. 适用于DELL G3 GTX1650的CUDA驱动

热门文章

  1. Redis进阶实践之二十 Redis的配置文件使用详解
  2. CSS3实现一束光划过图片、和文字特效
  3. HDU 5392 BC #51
  4. u-boot分析(八)----串口初始化
  5. [ZJOI2010]贪吃的老鼠
  6. 开发一个自己的 CSS 框架(五)
  7. HashMap中数组初始化的秘密
  8. JavaScript服务器端开发技术(对象属性的枚举与查询)
  9. Mybatis怎么能看是否执行了sql语句
  10. EasyUI学习总结(二)——easyloader分析与使用