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同时使用会报无效标识符相关推荐
- IsNull 和 SQL语句中CASE WHEN用法
[转]IsNull 和 SQL语句中CASE WHEN用法收藏 [转]IsNull 和 SQL语句中CASE WHEN用法 1.ISNULL 使用指定的替换值替换 NULL. ...
- 深入理解mysql中case when流程控制语句
介绍mysql数据库中case when语句的用法,首先介绍case when语句的基础知识,然后提供了相关例子.比较全面的掌握case when的用法,case when在平时的开发过程中还是使用得 ...
- oracle查询语句中select from where group by having order by的解释与应用
oracle查询语句中select from where group by having order by的解释与应用 查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from- ...
- mysql 中 case语句吗_Mysql中的Case语句
1.Case基本初识 case语句是mysql中的一个条件语句,可以在字段中使用case语句进行复杂的筛选以及构造新的字段.下面通过两个leetcode例子来详细解读case语句的功能: 1.1 Le ...
- sqlserver中case when then用法
sqlserver中case when then用法 (2014-04-14 17:11:06) 标签: it 分类: 数据库-SQLServer sql语句判断方法之一 Case具有两种格式 ...
- 【SQL中case then的用法】
SQL中case then的用法 当我们需要从数据源上直接判断数据显示代表的含义的时候 ,就可以在SQL语句中使用CASE THEN这个函数了. 其中case then有两种格式: 1.第一种 ...
- MySQL中Case When用法详解
最近,在学习Hive基础知识时,遇到了遇到了Case When Else End语法,以前学习MySQL时忽略了这部分知识点,现总结一下相关的知识给大家.首先练习一个例子如下: 一.学生课程成绩统计 ...
- switch中case后可以是表达式吗_自学C++基础教程【流程控制语句】(switch语句 )...
switch语句:又被称之为 分支选择语句,它提供了一种更方便的方法来实现深层嵌套的if.else逻辑: switch语句先计算表达式的值,并逐个与其后的常量表达式的值相比较,当表达式的值与某个常量表 ...
- 查询语句中select from where group by having order by的执行顺序
查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--whe ...
最新文章
- 尚硅谷学习:createElement 方法笔记
- 简述Linux C下线程池的使用
- B1059 C语言竞赛
- mysql++月份排序_Mysql 按月份为组进行统计排序_MySQL
- docker 安装mysql 5.7
- jQuery——clone()方法
- 拓扑排序排课系统_视频结构化人脸布控系统
- 阿里MySQL读写一致_缓存与数据库读写一致的解决方案
- [转]论window和Linux之长短
- springcloud @ComponentScan 多模块 扫描其他模块
- UE4中VR项目的打包和发布
- 如今的iOS开发者优胜劣汰,如何提升让自己不被淘汰?
- 键盘控制盒子移动案例
- IEEE 754浮点数标准详解
- 如何成为ffmpeg开发者
- 51信用卡不止于想象力?
- 缓存服务器 MemcachedRedis
- html文本标签练习
- Increase and Decrease
- 适用于DELL G3 GTX1650的CUDA驱动