Mysql 解決 分組統計問題

2021-04-15 06:53:10 字數 1764 閱讀 4144

我有四張表a、b、c、d,    

--------------------------------     

a      | b  | c   | d    

a   b   |   a   c   |   a   d   |   d   e    

1   1   |   1   1   |   1   a   |   a   1    

2   2   |   1   3   |   2   b   |   b   2    

3   4   |   1   4   |   3   c   |   c   3    

4   6   |   2   1   |   4   d   |   d   4    

--------------------------------    

現在要用一條sql語句將a表所有的列,b表對與a表a欄位    

相關聯的列求count,通過c表,將d表與a表關聯起來,得到    

結果    

1   1   3   1    

2   2   1   2    

3   4   0   3    

4   6   0   4  

mysql語句解決:

select

a.a,a.b,ifnull(c,0) 

asc,d.a 

from

(select1as

a,2asb 

union

allselect2as

a,2asb 

union

allselect3as

a,4asb 

union

allselect4as

a,6asb) 

asa 

left

outer

join

(select

a,count

(a) 

asc 

from

(select1as

a,3asc 

union

allselect1as

a,3asc 

union

allselect1as

a,3asc 

union

allselect2as

a,3asc ) b 

group

bya) asb

ona.a

=b.a 

join

(select1as

a,'a'

asd 

union

allselect2as

a,'b'

asd 

union

allselect3as

a,'c'

asd 

union

allselect4as

a,'d'

asd ) 

asc 

ona.a

=c.a 

join

(select1as

a,'a'

asd 

union

allselect2as

a,'b'

asd 

union

allselect3as

a,'c'

asd 

union

allselect4as

a,'d'

asd ) asd

ond.d

=c.d

mysql 區間分組統計

select elt interval c.money,0,1000,2000,3000,4000,5000 less 1000 1000to2000 2000to3000 3000to4000 4000to5000 as level,count c.id as cnt from select su...

Mysql橫向分組統計

有這麼一張表trade,記錄著毛巾和枕頭的交易資訊,表結構如圖a a 目前的資料如圖b b 現在要查詢出每天每個商品交易的總價,如下圖所示 c 那麼該如何查詢呢?方法不唯一,這裡先列舉了一種方法 select date format created time,y m d as 日期 sum if p...

c 問題 B 分組統計(用set解決)

先輸入一組數,然後輸入其分組,按照分組統計出現次數並輸出,參見樣例。輸入第一行表示樣例數m,對於每個樣例,第一行為數的個數n,接下來兩行分別有n個數,第一行有n個數,第二行的n個數分別對應上一行每個數的分組,n不超過100。輸出m行,格式參見樣例,按從小到大排。173 2388 2312 3213 ...