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

sql分組排序條數

發布時間: 2023-02-27 06:56:35

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 group 後按分組數量的多少排序怎麼寫

數據表內有一個種類欄位,把商品分成了N種,我想使用sql語句列出有多少種類,也就是group by 種類 ,但是我想輸出時是按種類的多少進行排序,也就是歷史類有100個產品 自然類有200個產品 法律類有300個產品
那麼就輸出
法律 300
自然 200
歷史 100
select 種類,sum(數量) from 表名 group by 種類 order by sum(數量) desc
試試:
<?php
$sql="SELECT procts_id,COUNT(procts_id) FROM orders_procts GROUP BY procts_id ORDER BY COUNT(procts_id) DESC";
?>

Ⅳ 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

Ⅳ SQL 分組統計並排序

with tmp as
(select row_number() over(order by count(val)) as rn,val,count(val) as cnum from table1 group by val)
select * from tmp where rn<3
要想區別並列現象還要復雜一些,可能簡單的語句解決不了

Ⅵ sql語句,先分組查詢,在算每組的行數,在排序

只能用存儲過程
思路如下
將分組那個欄位比如是A
Create temp table tmp_b
foreach
select distinct A into bianlianga from table
insert into tmp_b
select top 2 B from table where A=bianlianga order by B ;
delete from table where A=bianlianga and B in(select * from tmp_b);
end foreach

Ⅶ sql 分組查詢 分組查詢查詢每組的前幾條數據

sqlserver:
select * from (
select *,row_number() over(partition by 分組列 order by 組內排序列) as rn from table
) as a where rn<=2

Ⅷ sql取出每個分組的前幾條

一個簡單的方法就是排序之後給它分配序號,根據序號去找前幾條

select*

from(select公司,人數,

--按人數從多到少分配序號,不同公司會重1開始

rank()over(partitionby公司orderby人數desc)asxh

from公司檔案)asA

wherexh<=2--取前幾位就寫幾

orderby公司,人數desc

排序效果如下

Ⅸ sql如何分組選擇顯示最新的一條數據

sql如何分組選擇顯示最新的一條數據
首先,該問題對應的SQL如下
select 采購類別,客戶,訂貨總額
from (select 采購類別,客戶,訂貨總額,
row_number() over(partition by 采購類別 order by 訂貨總額 desc) rn
from table_name) awhere rn<=2
;
其次,常用資料庫比如Oracle和Sqlserver都有特定函數完成分組排序的功能,如果需要顯示並列的情況可以用下面另外的2個.
分別有3個類似函數:
row_number() over
這個函數不需要考慮是否並列,哪怕根據條件查詢出來的數值相同也會進行連續排名。也是最常用的函數,排序結果類似於1,2,3,4,5
rank() over
查出指定條件後進行一個排名,但是有一個特點。假如是對學生排名,那麼實用這個函數,成績相同的兩名是並列。排序結果類似於1,2,2,4,5
dense_rank() over
比較特殊,排序結果類似於1,2,2,3,4