當前位置:首頁 » 編程語言 » sql分組得到排序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql分組得到排序

發布時間: 2022-08-16 16:31:58

『壹』 sql先分組後排序的問題

selectregtime,ccount,row_number()over(partitionbycasewhenccount=0then0else1endorderbyregtime)from表

『貳』 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 分組排序

with
ranked
as
(select
t1.*,
rank()
over
(partition
by
name
order
by
price
desc)
as
rk
from
table1
t1
join
table2
t2
on
t1.goods=t2.goods)
select
a.name,
b.goods
as
goods1,
c.goods
as
goods2,
d.goods
as
goods3
from
(select
name
from
table1
group
by
name)
a
join
(select
name,
goods
from
ranked
where
rk
=1)
b
on
b.name=a.name
join
(select
name,
goods
from
ranked
where
rk
=2)
c
on
c.name=a.name
join
(select
name,
goods
from
ranked
where
rk
=3)
d
on
d.name=a.name
order
by
name

『肆』 在SQL語句中,分組用什麼子句,排序用什麼子句

排序採用ORDER BY語句:ORDER BY 語句用於根據指定的列對結果集進行排序。ORDER BY 語句默認按照升序對記錄行排序。如果希望按照降序對記錄進行排序,可以使用 DESC關鍵字。

SQL有兩種使用方式:

一是聯機交互使用,這種方式下的SQL實際上是作為自含型語言使用的。

另一種方式是嵌入到某種高級程序設計語言(如C語言等)中去使用。前一種方式適合於非計算機專業人員使用,後一種方式適合於專業計算機人員使用。盡管使用方式不向,但所用語言的語法結構基本上是一致的。

(4)sql分組得到排序擴展閱讀:

以同一種語法結構提供兩種使用方式:

SQL既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用於聯機交互的使用方式,用戶可以在終端鍵盤上直接輸入SQL命令對資料庫進行操作。作為嵌入式語言,SQL語句能夠嵌入到高級語言(如C、 C#、JAVA)程序中,供程序員設計程序時使用。

而在兩種不同的使用方式下,SQL的語法結構基本上是一致的。這種以統一的語法結構提供兩種不同的操作方式,為用戶提供了極大的靈活性與方便性。

『伍』 SQL分組排序

create
table
#a
(a
char(10),b
int)
insert
#a
select
'a',1
insert
#a
select
'a',5
insert
#a
select
'b',1
insert
#a
select
'b',4
insert
#a
select
'b',3
insert
#a
select
'b',5
create
table
#c
(id
int
identity(1,1),
a
varchar(10))
insert
into
#c
select
distinct
a
from
#A
create
table
#d
(id
int
,
a
varchar(10),b
int)
declare
@a
int
declare
@b
int
select
@a=min(id)
from
#c
select
@b=max(id)
from
#c
while
(@a<=@b)
begin
select
identity(int,1,1)
as
id
,
t1.a,t1.b
into
#b
from
#a
t1,
#c
t2
where
t1.a=t2.a
and
t2.[id]=@a
order
by
t1.b
insert
into
#d
select
*
from
#b
drop
table
#b
set
@a=@a+1
end
select
*
from
#d

『陸』 sql 分組後排序

select*,ROW_NUMBER()over(partitionby品牌orderby市場份額desc)as排名FROM市場份額表

『柒』 SQL 分組統計並排序

group
by語句必須和聚合函數一起使用.
select
c,max(d)
from
a
group
by
c
order
by
max(d)
desc
這樣子可以.
因為一條select語句只可以返回一個結果集...
此句返回按c分組後並按每組中最大的d值進行排序.

『捌』 SQL如何對分組後運算出來的結果進行排序

提供兩種方案,第一種是降序
select sno,avg(grade) 'nihao' from sc
group by sno order by 'nihao' desc
第二種是升序
select sno,avg(grade) 'nihao' from sc
group by sno order by 'nihao' asc

其中『nihao』表示avg(grade)這個列的別名

『玖』 sql 如何分組排序同時進行

1、首先輸入代碼:

SELECT * FROM (select * from CJ where Gender='女') m

where( select COUNT(*) from (select * from CJ where Gender='女') n

where m.Classid = n.Classid and n.English > m.English)<2

order by Classid, English desc

2、然後再輸入代碼:

SELECT * FROM CJ m

where(

select COUNT(*) from CJ n

where m.Classid = n.Classid and n.English > m.English and n.Gender='女')<2 --指的是內表

and Gender='女' --指的是外表

order by Classid, English desc