1. sql多表查詢統計怎麼弄
既然兩個表的結構一模一樣,如果想統計人名出現的總數,可以將兩個表先用union all合並到一起,然後再對其進行統計。
例如,有下面兩個表:成績表A、成績表B,這兩個表的結構是完全一樣的,分別都有20條記錄,但兩個表有部分記錄是重復的:
如果將兩個表合並到一起,可以使用union all。注意,這里必須加上all,否則,那些重復的記錄就會被排除掉了,從而導致出現的總數不準確。例如,下面的語句沒有加all,輸出的姓名記錄數只有25個,有另外15個重復的被排除掉了:
所以,一定要加上all。這樣得到兩個表的合集後,再用括弧將其包起來,把它作為一個表來處理,再次統計即可。sql語句如下:
select 姓名,count(*) as 出現次數 from (select 姓名 from 成績表A union all select 姓名 from 成績表B) group by 姓名
統計結果如下圖:
我是人民郵電出版社簽約作者,著有多本與B/S、C/S開發方面的專業書籍,歡迎關注並一起交流提高,謝謝!
2. 如何將多個SQL查詢統計結果一次顯示出來
可以通過count函數來實現。
sqlOne:select * from tablename1 where id>5;此語句查詢出來多條記錄,之後看做一個新的表。
sqlTwo:select conut(*) from (select * from tablename1 where id>5) as tablename2;此語句即可查詢出來統計的記錄條數。
備註:以上方法通用於所有的數據統計,如果是單表查詢,可以直接通過:「select count( *) from tablename1 where id>5"的形式查詢出結果。
3. SQL如何統計多表總記錄數
有2個方法:
1、select
*,(select
count(u_id)
from
h_travel_line
where
u_id
=
a.u_id)
已線路數
from
h_travel
a
2、SELECT
c.ttt
AS
已線路數,
h_travel.*
FROM
h_travel
INNER
JOIN
(SELECT
COUNT(*)
AS
ttt,
u_id
FROM
h_travel_line
GROUP
BY
STID)
c
ON
h_travel.u_id
=c.u_id
4. sqlserver 怎麼多表查詢,主表統計次表數據
select 主表名.pcode, count(從表名.pcode)
from 主表名, 從表名
where 主表名.pcode=從表名.pcode
group by 主表名.pcode
5. SQL如何統計多表總記錄數
你是指5張表的總記錄還是相關的記錄?
SELECT SUN(C) FROM (
SEELCT COUNT(*) C FROM TABLE1
UNION ALL
SEELCT COUNT(*) C FROM TABLE2
UNION ALL
SEELCT COUNT(*) C FROM TABLE3
UNION ALL
SEELCT COUNT(*) C FROM TABLE4
UNION ALL
SEELCT COUNT(*) C FROM TABLE5
);
或者:
SELECT COUNT(*) FROM TABLE1 A
INNER JOIN TABLE2 B ON A.ID=B.ID
INNER JOIN TABLE3 C ON C.ID=B.ID
INNER JOIN TABLE4 D ON D.ID=C.ID
INNER JOIN TABLE5 E ON E.ID=D.ID
6. Sql多表查詢,怎麼做
根據你的查詢結果要求,可以根據一下幾個步驟確定多表查詢語句的寫法:
1、要顯示所有學生信息、班級、年級等信息,則需以主表1為主記錄,其他表通過外連接的方式進行關聯;
2、LEFT JOIN 關鍵字會從左表那裡返回所有的行,即使在右表中沒有匹配的行,確定主表之後,其他關聯表使用LEFT JOIN;
3、拼接SQL語句,需要確定關聯欄位主表1與表2的關聯為主表1.studentid=表2.studentid,
主表1與表3的關聯為主表1.gradId=表3.gradId,主表1與表4的關聯為主表1.classId=表4.classId
4、具體語句為:
SELECT 表1.ID, 表2.STUDENTNAME,表3.GRADNAME,表4.CLASSNAME
FROM 表1
LEFT JOIN 表2 ON 表1.STUDENTID = 表2.STUDENTID
LEFT JOIN 表3 ON 表1.GRADID = 表3.GRADID
LEFT JOIN 表4 ON 表1.CLASSID= 表4.CLASSID