Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

一段SQL語法 GROUP BY

請問 我有一個表格 有三個欄位 A B C

A B C

A01 01 1

A02 01 1

A03 01 2

結果跑出來是

B C(1) C(2)

01 2(個) 1(個)

我要怎排出 B欄位01 1(C欄位)的有2個 而2(C欄位) 有一個

謝謝

Update:

資料庫 MS-SQL!

單純只是要跑出這個資料出來 程式編寫是ASPNET!

A、B、C這三個欄位是在同一個資料表!

是篩選資料的問題..他會沒辦法跑出 只有一列資料 會篩選出兩列資料

Update 2:

抱歉 結果是跑出兩個分組的資料 這樣會統計 1的有幾個 2個有幾個....

我想要的是 讓他分組再同一列統計

也就是最後執行SQL的時候 只會有一組資料

請問應該怎麼寫??

Update 3:

+---+-- +------+

| 01 | 2(欄位資料是1) | 1(欄位資料是2) |

+---+-- +------+

就只有一列資料 這樣

Update 4:

OH...GOOD 可以...

不過可以請問一下 count(CASE WHEN 1=C THEN 1 END) 這句是要什麼意思?

CASE WHEN 1=C THEN 1 END ?

謝謝

2 Answers

Rating
  • CY
    Lv 5
    1 decade ago
    Best Answer

    試試這個

    Select B, C, count(*) from 資料表 group by B, C

    這會排出

    +---+---+------+

    | B | C | COUNT(*) |

    +---+-- +------+

    | 01 | 1 | 2 |

    | 01 | 2 | 1 |

    +---+-- +------+

    如果不是 請排一下你想要的結果

    2009-09-05 03:46:11 補充:

    試試

    Select B, count(CASE WHEN 1=C THEN 1 END), count(CASE WHEN 2=C THEN 1 END) from 資料表 group by B

    2009-09-05 21:35:41 補充:

    CASE WHEN 1=C THEN 1 END

    條件句

    當C=1時 回傳 1

    See

    http://www.craigsmullins.com/ssu_0899.htm

    http://4guysfromrolla.com/webtech/102704-1.shtml

  • Joe
    Lv 7
    1 decade ago

    請問:

    1.資料庫是用 Access 嗎?

    2.程式編寫是 ASP 嗎?

    3.A、B、C這三個欄位是在同一個資料表嗎?

    4.是排序的問題還是篩選資料的問題還是抓取資料筆數的問題?

    看不懂您的問題!請別怪我笨!

    2009-09-01 23:08:27 補充:

    問題說清楚了

    馬上就有人來幫忙解題

    問問題也是很重要的!

    我是寫 ASP (Access) Sorry 幫不上忙!

Still have questions? Get your answers by asking now.