group by和 选择前几个的select语句
来源:互联网 发布:无心法师白琉璃知乎 编辑:程序博客网 时间:2024/06/05 19:27
group by
1.后面添加的若干属性,共同组成了一个分组的依据,
2.count(*),或者max(age)这类函数,都将计算分组内的数据
3.where字句和having子句
where将对分组前的所有数据进行筛选。如果想要记录50岁的女的数量,应该在where中加条件,而不是having中。
having将对分组后的一组数据搞事情,而且group by age后,一组50岁的数据只显示一条,也就是一群50岁的人,有男有女,但是最后只显示一种sex(假设显示了女),这时候如果having后面是对这色系别进行过滤,having sex=male的话,将过滤掉50岁的所有记录。带来错误。
4.也就是说group by后面的其它属性可能不是你想要的。比如说group by时候select max(age),sex。这时候sex得到的值,可能并不是年龄最大的选手的性别。
select *,count(*)
from usergroup by sex,age
查找每个人消费最高的一天的花费和日期:选出每个user消费最多的金额
表结构: user(userid, name, age) ,consume(id, userid, money, timer)
select user.name,consume.money,consume.consume_timefrom userinner join (select consume.useid,max(money) money from consume group by consume.useid) ainner join consumeon user.useid=consume.useid and user.useid=a.useid and consume.money=a.moneygroup by name;
每个用户消费最多的两天:给每张消费表,另外添加一个消费金额排名,最后排名过滤
select user.name, ccc.money,ccc.consume_timefrom user, (select c1.useid,c1.consume_time,c1.money,(select count(id)from consume c2where c1.useid=c2.useid and c1.money<=c2.money) cntfrom consume c1 )cccwhere user.useid=ccc.useidand ccc.cnt <=2;;
阅读全文
0 0
- group by和 选择前几个的select语句
- select group by语句
- mysql group by、select和order by的特例
- 数据库_MySQL_SQL语句的组装顺序 和 GROUP BY的SELECT语句中显示COUNT()为0的结果
- mysql select * .... group by ..... 语句使用
- Mysql的distinct语句和group by,order by
- sql select语句中 having和where的区别用法及group by 的几种用法
- group by 和having 语句
- oracle查询语句中select from where group by having order by的解释与应用
- oracle查询语句中select from where group by having order by的解释与应用
- oracle查询语句中select from where group by having order by的解释与应用
- 查询语句中select from where group by having order by的执行顺序
- 查询语句中select from where group by having order by的执行顺序
- 查询语句中select from where group by having order by的执行顺序
- 查询语句中select from where group by having order by的执行顺序
- 查询语句中select from where group by having order by的执行顺序
- 查询语句中select from where group by having order by的执行顺序
- 查询语句中select from where group by having order by的执行顺序
- C++ 虚函数表解析
- IDEA 配置lombok
- 《Drools7.0.0.Final规则引擎教程》第4章 global全局变量
- [BZOJ]1089: [SCOI2003]严格n元树 DP+高精度
- 怎么用php post 数据到服务器端,封装的方法,只需要输入url 和 post 数据即可
- group by和 选择前几个的select语句
- C++黑魔法系列2: lvalue, move constructor, copy and swap
- 业余时间决定了你的人生
- 线段树的应用方法总结
- Kettle7.1 创建数据库资源库方法整理
- FZU-2193 So Hard
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{
- sublime text 2 php代码自动提示与补全设置
- HQL单表条件查询