首先,题目给出这个数据库表格
要求写出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.负