sql查多行
㈠ sql語句 查詢所有行
select 種類欄位,count(*) from 表 group by 種類欄位
㈡ 怎麼用sql語句同時查詢多條數據
這個描述不夠清晰啊,查詢多條數據的意思是什麼,返回結果中包含多行數據?SQL語句返回的結果正常情況下返回的都是一張臨時表,裡面可以包含多行多列。
如果不是你想問的情況,麻煩把問題進一步描述得更清楚一些。
㈢ sql語句 多行函數查詢
想法1
先查詢出以每個部門為單位,有多少人工資低於3000 以及 低於3000的人數 順便把部門ID也帶出來,以備後用
select sum(salary),count(id),dep_id from yuangong where salary<3000 group by dep_id
然後,將上面查詢出來的結果進行加工,得出最後結論
select
bumen.dep_name,
a.renshu,
a.money/a.renshu
from
bumen,
(select sum(salary) as money,count(id) as renshu,dep_id from yuangong where salary<3000 group by dep_id) a
where
a.dep_id = bumen.id
想法呢是這個想法,
想法2
先把所有的部門,工資少許8000 的數據找出來
select
bumen.dep_name,
yuangong.*
from
bumen,
yuangong
where
yuangong.salary<3000 and
yuangong.dep_id = bumen.id
然後對上面的數據進行分類加工,
分類的依據是部門id 或者部門名字(group by bumen.dep_name)
select
bumen.dep_name,
count(yuangong.id),
sum(yuangong.salary)/count(yuangong.id)
from
bumen,
yuangong
where
yuangong.salary<3000 and
yuangong.dep_id = bumen.id
group by bumen.dep_name
㈣ sql怎麼同時寫多行一樣的查詢語句
sql怎麼同時寫多行一樣的查詢語句
最簡捷直觀的方法就是利用分組
1
2
3
4
5
6
select ID,
Sum(語文) 語文,
Sum(數學) 數學,
Sum(英語) 英語
from scores
group by ID
你可以直接用下面的語句在SQL Server中測試結果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
DECLARE @ScoresVar table(
ID int NOT NULL,
Chinese int,
Math int,
English int);
Insert into @ScoresVar
values(1 ,70, null, null)
Insert into @ScoresVar
values(1 ,null,80, null)
Insert into @ScoresVar
values(1 ,null, null, 90)
Insert into @ScoresVar
values(2 ,75, null, null)
Insert into @ScoresVar
values(2 ,null,85, null)
Insert into @ScoresVar
values(2 ,null, null, 95)
select ID,
SUM(Chinese) Chinese,
Sum(Math) Math,
Sum(English) English
from @ScoresVar
group by ID
還有一種方法,可能更通用一點,利用 FOR XML PATH 和STUFF函數來做,雖然復雜,但是對表的數據類型無限制。
還是上面的測試數據,你可以通過下面的代碼來得到你想要的數據:
1
2
3
4
5
6
7
8
9
SELECT ID,
STUFF((SELECT ',' + Cast(A.Chinese as varchar)
FROM @ScoresVar A Where A.ID=B.ID FOR XML PATH('')),1,1,'') As Chinese,
STUFF((SELECT ',' + Cast(A.Math as varchar)
FROM @ScoresVar A Where A.ID=B.ID FOR XML PATH('')),1,1,'') As Math,
STUFF((SELECT ',' + Cast(A.English as varchar)
FROM @ScoresVar A Where A.ID=B.ID FOR XML PATH('')),1,1,'') As English
From @ScoresVar B
Group By ID
1
2
3
4
-- 輸出結果
ID Chinese Math English
1 70 80 90
2 75 85 95
㈤ sql中查詢獲取多個行數的語句表達式怎麼寫
參看語句:
現用ROW_NUMBER()將所有結果按照你想要的順序排序生成需號
然後根據你的要求取
SELECT*FROM(
SELECT*,ROW_NUMBER()OVER(ORDERBYPuReiptID)asSeqNoFROMPuReceipt
)AStWHEREt.SeqNoBETWEEN500AND600