※ 引述《jami520 (我的生命因你而發光)》之銘言:
: 舉例目前我有個資料表,主要是每天成績前三名的學生(假設學生為A~Z)
: No1 No2 No3 date
: A B C 2014-02-21
: A D E 2014-02-20
: F A B 2014-02-19
: H E A 2014-02-18
: ...................
: 在不變動資料表的情況下
: 那麼SQL如何統計在某區間內,學生不論出現在No1 或是 No2 或 No3 的次數呢?
: 例如呈現如下:
: A 4
: B 2
: C 1
: D 1
: E 2
: F 1
我的想法是,先select各名次的人,再union all起來,最後再group by起來算次數,
select name,
count(*) as cnt
from (select No1 as name from t1
union all
select No2 as name from t1
unino all
select No3 as name from t1)
group by name
希望有幫到忙 ^^