{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

SQL多表查詢統(tǒng)計(jì)怎么弄?

lauren_liulinglauren_liuling 回答0 收藏1
問題描述:表A和表B結(jié)構(gòu)一模一樣,我想統(tǒng)計(jì)其中某人名(兩個(gè)表都有姓名這個(gè)字段)出現(xiàn)的總數(shù),求怎么寫SQL語句?
收藏問題

2條回答

JinB

JinB

回答于2022-06-28 13:48

既然兩個(gè)表的結(jié)構(gòu)一模一樣,如果想統(tǒng)計(jì)人名出現(xiàn)的總數(shù),可以將兩個(gè)表先用union all合并到一起,然后再對(duì)其進(jìn)行統(tǒng)計(jì)。

例如,有下面兩個(gè)表:成績(jī)表A、成績(jī)表B,這兩個(gè)表的結(jié)構(gòu)是完全一樣的,分別都有20條記錄,但兩個(gè)表有部分記錄是重復(fù)的:

如果將兩個(gè)表合并到一起,可以使用union all。注意,這里必須加上all,否則,那些重復(fù)的記錄就會(huì)被排除掉了,從而導(dǎo)致出現(xiàn)的總數(shù)不準(zhǔn)確。例如,下面的語句沒有加all,輸出的姓名記錄數(shù)只有25個(gè),有另外15個(gè)重復(fù)的被排除掉了:

所以,一定要加上all。這樣得到兩個(gè)表的合集后,再用括號(hào)將其包起來,把它作為一個(gè)表來處理,再次統(tǒng)計(jì)即可。sql語句如下:

select 姓名,count(*) as 出現(xiàn)次數(shù) from (select 姓名 from 成績(jī)表A union all select 姓名 from 成績(jī)表B) group by 姓名

統(tǒng)計(jì)結(jié)果如下圖:

我是人民郵電出版社簽約作者,著有多本與B/S、C/S開發(fā)方面的專業(yè)書籍,歡迎關(guān)注并一起交流提高,謝謝!

評(píng)論0 贊同0
  •  加載中...
dockerclub

dockerclub

回答于2022-06-28 13:48

SQL多表查詢,一般都是用連接進(jìn)行表之間的連接,那樣會(huì)把所有表統(tǒng)一行程一張大表或者視圖進(jìn)行查詢,那樣方便你的查詢;

查詢之后,根據(jù)你的需求進(jìn)行order by或者group by統(tǒng)計(jì)你想要的數(shù)據(jù);

如有不明白的地方,可以關(guān)注我并且私聊我!

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<