簡體   English   中英

案例中使用聚合函數的SQL查詢

[英]sql query using aggregate function inside case

我正在嘗試在http://www.sqlzoo.net/wiki/The_JOIN_operation上解決#13

“列出每場比賽,每個球隊都有進球,如圖所示。它將使用“ CASE WHEN”,以前的練習中都沒有解釋。

這是我寫的:

select distinct mdate, team1,
 case 
    when teamid = team1
      count(teamid)
 end as score1, team2,
 case 
    when teamid = team2
     count(teamid) 
 end as score2
from game join goal on id = matchid
group by matchid
order by mdate, matchid, team1, team2;

我收到此錯誤:

您的SQL語法有誤; 檢查與您的MariaDB服務器版本相對應的手冊以獲取正確的語法,以在第4行的'count(teamid)末尾附近使用score1,team2,當teamid = tea時

我的代碼有什么問題?

您在使用案例條件和使用函數的情況下走錯了路。.下面的查詢給您結果..檢查並了解希望有幫助

SELECT  game.mdate, 
        game.team1,
        SUM(CASE WHEN goal.teamid=game.team1 THEN 1 ELSE 0 END) score1, 
        game.team2,
        SUM(CASE WHEN goal.teamid=game.team2 THEN 1 ELSE 0 END) score2
FROM game
INNER JOIN goal 
    ON game.id=goal.matchid
GROUP BY game.mdate, goal.matchid, game.team1, game.team2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM