group by 和where 条件后面不能用刚设置的别名。
select count(*),c_xy_bj a from z_user group by c_xy_bj 这个group by后面不能使用c_xy_bj 字段的别名a,只有外面再嵌套select查询才能使用字段别名a
select c_xy_bj a from z_user where c_xy_bj = 'Y' 这个where后面不能使用c_xy_bj 字段的别名a,只有外面再嵌套select查询才能使用字段别名a
同理,两个字段加减乘除算出来的值,如果取别名,想通过别名来做查询条件,那么也只能再外面嵌套select查询时才能用做条件;但是如果用原字段来查询是可以的。
select c_usernm,c_xy_bj,c_usernm||c_xy_bj ub from z_user where c_usernm||c_xy_bj = '陈明辉Y' 这个sql是可以的。
select c_usernm,c_xy_bj,c_usernm||c_xy_bj ub from z_user where ub = '陈明辉Y' 这个sql是不行的。
1.where 条件不能放在 group by后面,比如这个sql就是错误的:select count(*),c_xy_bj a from z_user group by c_xy_bj where c_xy_bj = 'Y'
2.group by后面只能使用having来做查询,having查询本来也是分组之后进行的查询,接下来这两个sql才是对的:select count(*),c_xy_bj a from z_user group by c_xy_bj having c_xy_bj = 'Y'
select count(*) cnt,c_xy_bj a from z_user group by c_xy_bj having count(*) = 28
3.对分组函数得到的结果进行查询不能使用where,只能使用having,实在没有使用group by进行分组的情况下也可以使用having来查询分组函数得到的结果
select count(*) cnt from z_user where count(*) = 5062 这个sql是错的
select count(*) cnt from z_user having count(*) = 5062 这个sql是对的
group by 和where 条件后面不能用刚设置的别名。的更多相关文章
- 根据条件决定是否为input设置只读属性
代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- SQL分组多列统计(GROUP BY后按条件分列统计)
as tjsl from fyxx group by zt,whbmbh end) as ybhsl from fyxx group by whbmbh 下面是摘自别人的博客 最近遇到一个问题,需要对 ...
- 【数据库】SQL分组多列统计(GROUP BY后按条件分列统计)
select whbmbh ,zt,1 as tjsl from fyxx group by zt,whbmbh select whbmbh,sum(case zt when '有效' then 1 ...
- group by两个条件
学生表: 成绩表: 问题:统计各系各门课程的平均成绩 答案: select sdept,cno,AVG(grade)avg_grade from S join SC on S.sno = SC.sno ...
- 关于group by 两个或以上条件的分析
关于group by 两个或以上条件的分析 原文地址:http://uule.iteye.com/blog/1569262 博客分类: 数据库 首先group by 的简单说明: grou ...
- 数据库关于group by 两个或以上条件的分析
首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素: (1) 出现在select后面的 ...
- group by 两个或以上条件的分析
首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素: (1) 出现在select后面的字段 要 ...
- 【转】Linq Group by
http://www.cnblogs.com/death029/archive/2011/07/23/2114877.html 1.简单形式: var q = from p in db.Product ...
- group by 和聚合函数
group by 的基本用法 group by做为分组来使用,后面为条件,可以有多个条件,条件相同的为一组,配合聚合函数进行相关统计.在不同数据库中用法稍有不同,这里只测试mysql和oracle. ...
随机推荐
- Python split()
split翻译为分裂. split()就是将一个字符串分裂成多个字符串组成的列表. split()当不带参数时以空格进行分割,当代参数时,以该参数进行分割. //---当不带参数时 example: ...
- easyui combogrid下拉表格的分页/按键/动态搜索
作者:xfl4629712 < easyui combogrid下拉表格的分页/按键/动态搜索 > 需求: 1.下拉框下拉时出现表格: 2.表格带分页功能: 3.可以使用向上键.向下 ...
- 断路器Feign
Feign是自带断路器,需要在配置文件中开启断路器 改造消费者项目(FeignDemo) 1.在application.yml配置文件中开启断路器 eureka: client: service-ur ...
- js之DOM对象三
一.JS中for循环遍历测试 for循环遍历有两种 第一种:是有条件的那种,例如 for(var i = 0;i<ele.length;i++){} 第二种:for (var i in ...
- Layer-level的快速算法
十岁的小男孩 本文为终端移植的一个小章节. Sparse Block Net 本节为优化加速的第二章节,主要介绍Sparse-block net.上章节为OP算子层的加速,本节为层级间的加速,主要针对 ...
- MySQL----数据库练习
一.多对多的正反向查询 class Class(models.Model): name = models.CharField(max_length=32,verbose_name="班级名& ...
- hdu4276 依赖背包
网上题解都是用spfa求1-n路径的,但其实dfs一次就可以了.. #include <iostream> #include <cstdio> #include <str ...
- uva11865 二分流量+最小生成树
uva好题真多 本题用二分法找flow,把流量小于flow的全部筛掉,剩下的边建立最小树形图,如果权值大于c或者不能建图,那么修改二分边界 上代码,觉得最小树形图的代码很优美 /* 题意:给定n个点, ...
- CF 1042F
玄学贪心... 题意:给出一棵树,要求将他的所有叶节点分成最少的组,且在每组中的任意两节点之间的距离不大于k 解析: 显然是个贪心啦... 稍微考虑一下贪心思想: 我们从下向上合并整棵树,在合并到某个 ...
- OrCAD Capture CIS 16.6 导出BOM
OrCAD Capture CIS 16.6 一.选择设计文件:菜单:Tools > Bill of Materials... 二.Bill of Materials > Open in ...