sql语句:取按a列分组后,b列最大,的所有列的记录
2008-02-15 16:31
323 查看
例如:
test 表
若取按a列分组后,b列最大,的所有列的记录,
result
可以使用如下语句
select
*
from
test
where
b
in
(
select
max
(id)
from
test
group
by
a)
适用于所有数据库
select
t1.a,t1.b,t1.c
from
test t1
inner
join
(seelct a,
max
(b)
as
b
from
test
group
by
a) t2
on
t1.a
=
t2.a
and
t1.b
=
t2.b
适用于所有数据库
select
a,b,c
from
(
select
a,b,c
,row_number()
over
(partition
by
a
order
by
b
desc
) rn
from
test
)
where
rn
=
1
适用于oracle
a | b | c |
1 | 5 | abc |
2 | 6 | bcd |
1 | 7 | ade |
2 | 8 | adc |
a | b | c |
1 | 6 | bcd |
2 | 8 | adc |
select
*
from
test
where
b
in
(
select
max
(id)
from
test
group
by
a)
适用于所有数据库
select
t1.a,t1.b,t1.c
from
test t1
inner
join
(seelct a,
max
(b)
as
b
from
test
group
by
a) t2
on
t1.a
=
t2.a
and
t1.b
=
t2.b
适用于所有数据库
select
a,b,c
from
(
select
a,b,c
,row_number()
over
(partition
by
a
order
by
b
desc
) rn
from
test
)
where
rn
=
1
适用于oracle
相关文章推荐
- sql 语句中如何取分组后最大 最小的记录
- 求每个分组里面的最大值对应的记录的sql语句
- 查找某个字段最大值的记录 SQL 语句
- SQL语句 对表按某几个字段分组,并生成组内记录数范围内的随机序号.
- SQL 分组后获取其中一个字段最大值的整条记录
- 如何通过SQL语句获取分组中的某几条记录
- SQL 分组后获取其中一个字段最大值的整条记录
- SQL 分组后获取其中一个字段最大值的整条记录
- 查询某个字段没有值的所有记录的SQL语句怎么写?
- SQL按字段分组取最大(小)值记录(重复记录)
- 【转载】1条SQL语句查询1个库内所有的记录数
- sql查询语句,求每个分组中的最大值实例
- SQL语句分组获取记录的第一条数据的方法
- sql获取分组后取某字段最大一条记录
- oracle中,分组后,取各组的前n条记录的sql语句:rownumber() over()
- T-SQL取分组最大值记录
- SQL 分组后获取其中一个字段最大值的整条记录
- 用SQL语句把物品按名字分组后,只显示价格最低的那一条记录
- SQL中获取指定两个日期时间点或者时间段内所有记录语句
- 用编程的方式将当前服务器上SQL SERVER中正执行的所有T-SQL语句记录下来 <转>