SQL学习之查询技巧 查询第3的数据 用一条语句分组,排序 并查询某一排名
2007-02-08 14:56
951 查看
想查询排名第3的人员名单
原数据表如下:
create table test
(
name varchar(12),
myValue int
)
insert into test
select 'zhang', 80
union select 'wang', 98
union select 'li', 100
union select 'zhao', 92
union select 'chen', 82
union select 'qin', 60
union select 'zhou', 92
查询第3名的人员名单
SELECT *
FROM test a
WHERE (SELECT Count(DISTINCT myvalue)
FROM test
WHERE myvalue >= a.myvalue) = 3
结果
name myValue
------------ -----------
zhao 92
zhou 92
(2 行処理されました)
查询前3名的人员名单
SELECT *
FROM test a
WHERE (SELECT Count(DISTINCT myvalue)
FROM test
WHERE myvalue >= a.myvalue) <=3
结果
name myValue
------------ -----------
li 100
wang 98
zhao 92
zhou 92
(4 行処理されました)
内容由http://community.csdn.net/Expert/topic/5346/5346530.xml?temp=.3626978整理而成。
谢谢luo2pei4321 (沛沛)
原数据表如下:
create table test
(
name varchar(12),
myValue int
)
insert into test
select 'zhang', 80
union select 'wang', 98
union select 'li', 100
union select 'zhao', 92
union select 'chen', 82
union select 'qin', 60
union select 'zhou', 92
查询第3名的人员名单
SELECT *
FROM test a
WHERE (SELECT Count(DISTINCT myvalue)
FROM test
WHERE myvalue >= a.myvalue) = 3
结果
name myValue
------------ -----------
zhao 92
zhou 92
(2 行処理されました)
查询前3名的人员名单
SELECT *
FROM test a
WHERE (SELECT Count(DISTINCT myvalue)
FROM test
WHERE myvalue >= a.myvalue) <=3
结果
name myValue
------------ -----------
li 100
wang 98
zhao 92
zhou 92
(4 行処理されました)
内容由http://community.csdn.net/Expert/topic/5346/5346530.xml?temp=.3626978整理而成。
谢谢luo2pei4321 (沛沛)
相关文章推荐
- SQL学习之查询技巧 查询第3的数据 用一条语句分组,排序 并查询某一排名
- Oracle学习之路(一):oracle简介+基本sql语句+条件查询+排序数据理论与案例
- Linq排序、分组、模糊查询、调用外部方法、直接执行SQL语句、事务、修改数据
- 用一条SQL语句查询分组前三名数据
- yii 使用原生sql 查询 以某一字段分组 每个字段取出最新的一条数据
- SQL语句学习(2)之基本查询、排序、聚合函数、分组查询
- SQL轮询,查询支持无限极分类数据表中的某一分类所有数据的SQL语句
- 一条查询某一条数据是整个表中的第几条数据的SQL
- SQL查询重复数据,只显示一条sql语句
- SQL查询重复数据,只显示一条sql语句
- 【Oracle】SQL学习笔记1---基本概念及SELECT语句及提取和排序数据
- sql语句查询获取下一条数据。
- oracle 查询重复数据并且删除, 只保留一条数据的SQL语句
- Excel 中使用SQL 语句查询数据(八)-----用Group by 进行分组统计
- MYSQL数据库(十)- 数据表的插入(insert)、删(delete)、改(update)、查(select)、group by 分组、having语句设置分组条件,order by查询结果排序,
- oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)
- 查询数据的最大排序问题(只能用一条语句写)
- SQL数据分组后取最大值或者取前几个值(依照某一列排序)
- 查询分组数据指行条件满足的行的上一条记录的技巧
- oracle心得1--oracle简介@基本sql语句@条件查询@排序数据理论与案例