求一SQL语句:如何查询最大的前3个值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一SQL语句:如何查询最大的前3个值相关的知识,希望对你有一定的参考价值。
求一SQL语句:如何查询最大的前3个值
查询最大的前3个值的方法及编写方式
1、select max(字段) 值1 from 表
2、select max(字段) 值2 from 表 where 字段<>值1
3、select max(字段) 值3 from 表 where 字段 not in(值1,值2)
MSSQL用法:select top 3 '字段名' from '表名' order by '字段名' desc 参考技术B Oracle查询最大的3个值的两种方法
第一种:
select x, rownum r
from
(
select x
from t
order by x desc
)
where rownum <= 3;
第二种:
select x
from
(
select x, row_number() over ( order by x desc ) r
from t
)
where r <= 3; 参考技术C 笨方法,查3次吧
select max(字段) 值1 from 表
select max(字段) 值2 from 表 where 字段<>值1
select max(字段) 值3 from 表 where 字段 not in(值1,值2) 参考技术D MS Sql 是select top 3 ....
My Sql最后加 .... limit 3
求一条sql语句,按照成绩降序排序,并显示名次,如123
成绩表中有成绩id 学生id 分数三个字段。 我不知道按成绩排名该怎样做, 怎样显示,又不能根据id来做
SELECT
id,
read_total,
(
SELECT
COUNT(read_total)
FROM
t_circle_topic
WHERE
ct.read_total <= read_total
) AS rank
FROM
t_circle_topic AS ct
ORDER BY
read_total DESC
扩展资料
ORDER BY 语句用于对结果集进行排序。
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。
参考技术A select row_number over( order by a.分数 desc) as 名次,a.学生id,a.分数 from 成绩表 a order by a.分数 desc这样就可以了,把相应字段和表替换下追问
我用的是mysql数据库啊,row_number 和over是什么啊
本回答被提问者采纳 参考技术B 可以写个g过程或者函数,zhe'yan这样比较简单些,若是oracle可以用游标。 参考技术C select * from (表名) order by (分数的字段名) desc(降序);以上是关于求一SQL语句:如何查询最大的前3个值的主要内容,如果未能解决你的问题,请参考以下文章