首先,題目給出這個數據庫表格
要求寫出SQL語句使之變成如下表格
?
解決方法:
SELECT t1.Rq,t1.勝,t2.負 FROM ? ? ? ? //t1和t2是自己命的新表格的名字
(SELECT Rq,COUNT(*) AS 勝 ? ? ? ? ? ? //As 勝意思是輸出結果時列名為”勝“
FROM testtable
WHERE Shengfu='勝'
GROUP BY Rq)t1 ? ? ? ? ? ? ? ? ? ? ? ? ??
INNER JOIN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //inner jion。。。on鏈表查詢
(SELECT Rq,COUNT(*) AS 負
FROM testtable
WHERE Shengfu='負'
GROUP BY Rq)t2
ON t1.Rq=t2.Rq ? ? ? ? ? ? ? ? ? ? ? ? ? ? //on后面的表示新表格t1和t2有共同列Rq ? 補充:若只顯示勝的比負的少的日期,則直接在此處加上 ?and t1.勝<t2.負
ORDER BY t1.Rq DESC ? ? ? ? ? ? ?//desc,降序排列,asc升序排列
?
?
?
補充:?and t1.勝<t2.負
?