第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用一個(gè)SQL查詢獲得多個(gè)計(jì)數(shù)?

如何使用一個(gè)SQL查詢獲得多個(gè)計(jì)數(shù)?

慕尼黑8549860 2019-08-03 13:03:24
如何使用一個(gè)SQL查詢獲得多個(gè)計(jì)數(shù)?我想知道如何寫這個(gè)查詢。我知道這個(gè)實(shí)際的語法是假的,但是它會(huì)幫助你理解我想要什么。我需要這種格式,因?yàn)樗且粋€(gè)大得多的查詢的一部分。SELECT distributor_id, COUNT(*) AS TOTAL, COUNT(*) WHERE level = 'exec', COUNT(*) WHERE level = 'personal'我需要在一個(gè)查詢中返回所有這些。另外,它需要在一行中,因此以下內(nèi)容無法工作:'SELECT distributor_id, COUNT(*) GROUP BY distributor_id'
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以使用CASE具有聚合函數(shù)的語句。這與PIVOT函數(shù)在某些RDBMS中:

select distributor_id,
    count(*) total,
    sum(case when level = 'exec' then 1 else 0 end) ExecCount,
    sum(case when level = 'personal' then 1 else 0 end) PersonalCountfrom yourtablegroup by distributor_id




查看完整回答
反對(duì) 回復(fù) 2019-08-05
?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

一種肯定有效的方法

SELECT a.distributor_id,
    (SELECT COUNT(*) FROM myTable WHERE level='personal' and distributor_id = a.distributor_id) as PersonalCount,
    (SELECT COUNT(*) FROM myTable WHERE level='exec' and distributor_id = a.distributor_id) as ExecCount,
    (SELECT COUNT(*) FROM myTable WHERE distributor_id = a.distributor_id) as TotalCountFROM (SELECT DISTINCT distributor_id FROM myTable) a ;

編輯:
關(guān)于為什么你不想使用這種方法,而應(yīng)該選擇“藍(lán)腳”的答案,請(qǐng)參見@KevinBalmford的性能分解。我離開這個(gè)是為了讓人們了解他們的選擇。




查看完整回答
反對(duì) 回復(fù) 2019-08-05
?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊

SELECT 
    distributor_id, 
    COUNT(*) AS TOTAL, 
    COUNT(IF(level='exec',1,null)),
    COUNT(IF(level='personal',1,null))FROM sometable;

COUNT只算non null值和DECODE將返回非空值。1只有在你的條件得到滿足的情況下。




查看完整回答
反對(duì) 回復(fù) 2019-08-05
  • 3 回答
  • 0 關(guān)注
  • 334 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)