sql查询语句,求每个分组中的最大值实例

转载 2007年09月14日 19:07:00
出处:http://topic.csdn.net/t/20050716/16/4148840.html



年           产品       销量  
  2005       a             700  
  2005       b             550  
  2005       c             600  
  2006       a             340  
  2006       b             500  
  2007       a             220  
  2007       b             350  
   
  我要得到  
  2005       a           700  
  2006       b           500  
  2007       b           350  
  怎么做?  

select   *   from   tb   a   where   not   exists(select   *   from   tb   where   年=a.年   and   销量>a.销量)    
   
  --or:  
  select   *   from   tb   a   inner   join   (select   年,max(销量)   as   销量   from   tb   group   by   年)b  
  on   a.年=b.年   and   a.销量=b.销量  



表结构:
id carId dateChange
1 001 2007-5-1
2 001 2007-5-2
3 002 2007-9-1
4 002 2007-9-9
需要得到每种carId中,dateChange最大的那条记录,对于现在这几条记录来说,就是要得到第2条和第四条。
谢谢!!!


select
t.*
from
表 t
where
not exists(select 1 from 表 where carId=t.carId and dateChange>t.dateChange)

三 自链接查询

以前只是听说过 表查询的自连接,一直没有用过
今天突然看百度知道上一个网友在问一个查询问题
 
表名:车过站表(passStation)
字段 车次 顺次 站点
        110    1     上海
        110    2     南京
         112   1     北京
         110    3    浙江
         110    4    江苏
。。。。。。。。。。。。。
假如要查询经过南京和江苏的车次
可以通过自连接来解决
 
select r1.checi from test r1,test r2
where r1.checi=r2.checi and(
r1.chezhan='江苏' and r2.chezhan='南京')  

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1694571

关于SQL分组取最大值的几中方式

假如我们有这么一张表: 如果想要取每个
  • looksun
  • looksun
  • 2014年11月16日 14:02
  • 3391

mysql获取分组后每组的最大值

1. 测试数据库表如下: create table test ( `id` int not null auto_increment, `name` varchar(20) not null de...
  • u011734144
  • u011734144
  • 2016年07月21日 13:55
  • 11885

SQL 表分组后获取最大值的整条记录

今天在工作的时候需要使用到一个分组最大值查询问题,搜罗了一下答案,了解了一些, 为了巩固知识,还是做一下测试为好 目标: 根据course分组求出score最大值的整条记录 例子:...
  • jianlong727
  • jianlong727
  • 2016年12月22日 21:54
  • 592

SQL数据分组后取最大值或者取前几个值(按照某一列排序)

今日在做项目的时候,项目中遇到需要将数据分组后,分组中的最大值,想了想,不知道怎么做,于是网上查了查,终于找到了思路,经过比较这个查询时目前用时最快的,其实还有别的方法,但是我觉得我们只掌握最快的方法...
  • hyy829119
  • hyy829119
  • 2014年07月09日 16:07
  • 3016

java操作mongodb(聚合函数)-分组找出每组的最大值

转自: http://blog.csdn.net/maosijunzi/article/details/42105927 数据库数据如下:   上代码: ...
  • aboycoder
  • aboycoder
  • 2015年09月12日 23:29
  • 3229

sql分组排序取top n

数据库查询*分组排序 要求:按照课程分组,查找每个课程最高的两个成绩。 数据文件如下: 第一列no为学号,第二列course为课程,第三列score为分数 mysql> select * from l...
  • wguangliang
  • wguangliang
  • 2015年12月03日 23:08
  • 3074

sql分组后查找每组的前几条记录语句

常用的sqlserver,mysql,oracle等数据库sql语句都是遵循sql标准,但是每种数据库都有自己的特点。 如果想做到程序兼容性更好,后期维护更方便,还是建议尽量使用各种数据库通用的sql...
  • jinjin603
  • jinjin603
  • 2016年06月01日 11:32
  • 2041

SQL分组查询,子查询

1: 分组函数/又称聚集函数1.分组函数(默认情况下就是ALL)AVG (DISTINCT |ALL| n) COUNT (DISTINCT |ALL| expr | *) // NULL不计算,...
  • u013777351
  • u013777351
  • 2015年10月14日 19:26
  • 3571

SQL查询一个表中类别字段中最大值对应的值

SQL查询一个表中类别字段中最大值对应的值 一、SQL查询一个表中类别字段中最大值对应的值(对一张表的操作): 问题:根据教师id查询checkOutAutoID最大的一条记录里的上期余额? 探...
  • hongwei15732623364
  • hongwei15732623364
  • 2017年01月22日 15:51
  • 1772

sql 分组求数量,并取最新一条数据

sql 分组求数量,并取最新一条数据
  • liangrui1988
  • liangrui1988
  • 2017年03月13日 18:23
  • 788
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql查询语句,求每个分组中的最大值实例
举报原因:
原因补充:

(最多只允许输入30个字)