当前位置:首页 » 编程语言 » sql前三项排序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql前三项排序

发布时间: 2022-06-28 03:04:18

‘壹’ sql一条语句来表示前三项升序排序,其他项降序

实现:
1
2
3
5
4
的效果:

假设你要的字段为:col_you_want , 类型为 int
select col_you_want
from mytable a
order by
case when identity(int,1,1) <= 3 then
identity(int,1,1) end asc ,
col_you_want desc
;

‘贰’ SQL如何对分组后的结果进行排序并且取前几名

SQL取分组中的前几名

[sql] www.2cto.com
create table #aa(class varchar(10),name varchar(10),lang int,math int)
go

insert into #aa
select '1','a1',60,70
union all
select '1','a2',80,70
union all
select '1','a3',90,70
union all
select '1','a4',50,70
go

insert into #aa
select '2','b1',60,70
union all
select '2','b2',90,90
union all
select '2','b3',90,70
union all
select '2','b4',50,70

go

select * from #aa

--取每年级前一名的成级
select * from
(select ROW_NUMBER() over(partition by class order by lang+math desc) rr, * from #aa ) a
where rr<2
--取每年级前二名的成级
select * from
(select ROW_NUMBER() over(partition by class order by lang+math desc) rr, * from #aa ) a
where rr<3

‘叁’ 使用SQL列出表中按Score排序的前三名的结果

select
top
3
with
ties
name,score
from
record
order
by
score
(由低分到高分排列)
select
top
3
with
ties
name,score
from
record
order
by
score
desc(由高分到低分排列)
with
ties
的用法:对于TOP来说with
ties
很重要,
他能在显示的行后附加多个和最后一行取值相同的行.

‘肆’ SQL语句 怎样按排序后显示前三个

没有看到你的数据库conn连接啊:
@$conn = mysql_connect("yourHost","yourUserID","yourPassword");

$sql=mysql_query("select top 3 title from art_title join art_neirong on art_title.no=art_neirong.no order by last_update DESC;",$conn);
//echo $sql;
$i=0;
while($result=mysql_fetch_array($sql))
{
echo "<h5>".$result['title']."</h5>;
}
mysql_close($conn);

‘伍’ SQL怎么取出每个科目前三名并按科目和分组排列

select B1.姓名,B1.科目,B1.分数 from B B1 where(select count(1) from B where 科目=B1.科目 and 分数〉=B1.分数)〈=3 order by B1.科目,B1.分数;

‘陆’ 用SQL选出每个人成绩的最高的前三条纪录

--用开窗函数每个用户成绩排序
select*from
(selectt.*,row_number(partitionby用户名orderby成绩desc)asflagfrom表名t)
whereflag<=3

‘柒’ 如何在SQL里让指定的列不管怎样排序总是排名前三

select * from stuInfo where stuName='张三'
union
select * from stuInfo where stuName='李四'
union
select * from stuInfo where stuName='王五'
union
(select * from stuInfo where stuName not in('张三','李四','王五'))

这样 你后面的怎么排 前三行都是你指定的

‘捌’ 一条sql语句 按照时间取出置顶的前三条,在按照时间排序,返回一个结果集,就想资讯的列表页,改怎么写哪

楼主 你理解错了,不信你去问你们导师。

所谓"取出置顶的前三条 再按时间排序"
这个并不是说把前三条排除之后进行时间排序。
面是说就要前面的那三条……
1楼的回答是正确的

‘玖’ sql 升序降序排列

降序:SELECT * FROM kc ORDERBYcpbh DESC

升序:SELECT * FROM kc ORDERBYcpbhASC

语法:

sql可以根据字段进行排序,其中,DESC表示降序,ASC表示升序

order by 字段名 DESC;按照字段名降序排序

order by 字段名 ASC;按照字段名升序排序

实例:

一、/*查询学生表中姓名、学号,并以学号降序排序*/

select name,StuID from Students_information order by StuID desc /**order by 以什么排序,默认为升序,desc是降序*/

二、/*查询学生表中前5名学生的姓名,学号,并以学号升序排列*/

select top 5 name,StuID from Students_information order by StuID /*order by 默认为升序*/

(9)sql前三项排序扩展阅读

一、ORDER BY 语句

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

二、SQL 排序多个字段

order by 多个字段,每个字段后面都有排序方式,默认ASC

例如:select table a order by a.time1 ,a.time2 desc,a.time3 asc

‘拾’ sql 查询每个分组下的前几条记录并排序

比如 表 table1,分类 type,读取分类前5条,合并在联查,并且排序
select * from
(
SELECT top 5 * FROM table1 where type=1
UNION
SELECT top 5 * FROM table1 where type=2
UNION
SELECT top 5 * FROM table1 where type=3
) as table_new order by id desc