テレビで放映されるサッカーゲームを追加するMySQLデータベースがあります。各チームは数字で表されます。チームが自宅でプレーしたか外出先でプレーしたかに関係なく、チームがテレビで何回表示されたかを一覧表示するクエリを作成する方法がわかりません。
私はテレビで放映されたチームのトップ20リストを作成しようとしています。私がチームIDを持っている2つの列は、「hjemmehold」と「udehold」と呼ばれます(デンマーク語です:))。
誰でもここで私を助けることができますか?
SELECT SUM(Away)+SUM(Home) AS NumGames
FROM Games
WHERE Team=@Team
明らかにこれは擬似コードですが、適切なテーブル/フィールド/パラメータを入力すれば、うまくいくはずです。
20チームすべての場合:
SELECT TOP 20 Team, SUM(Away)+SUM(Home) AS NumGames
FROM Games
ORDER BY SUM(Away)+SUM(Home) desc
t.hisはあなたにプレーしたトップ20チームを与えることができるはずです。これにより、まだゲームをプレイしていないチームを見つけることもできます(上位20の部分を削除した場合)。
SELECT TOP 20
team_id,
(SELECT COUNT(1) FROM GAMES WHERE HOME = t.team_id) + (SELECT COUNT(1) FROM GAMES WHERE AWAY = team_id) AS team_count
FROM TEAMS T
ORDER BY team_count DESC
SELECT Team, Count(*)
FROM (select Away as Team from Games union all select Home as Team from Games) t
GROUP BY Team
ORDER BY Count(*) Desc
LIMIT 20