2012-11-13 5 views
1

TV에 축구 게임을 추가하는 MySQL 데이터베이스가 있습니다. 각 팀은 숫자로 표시됩니다. 나는 그들이 팀에서 TV로 보인 횟수를 나열하는 쿼리를 어떻게 만들 수 있는지를 파악할 수 없다.숫자가 두 열로 나타나는 총 횟수 찾기

TV에 표시되는 팀 목록을 상위 20 개 목록으로 만들려고합니다. 팀 ID가있는 두 개의 열은 "hjemmehold"및 "udehold"(덴마크어 :)입니다.

누구나 나를 도와 줄 수 있습니까?

+0

'UNION' +'COUNT' +'DISTINCT' – zerkms

+3

당신이 당신의 테이블/행/열을 설정하는 방법을 알려 수 있습니까? – andrewk

답변

0
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 
+0

내 요구 사항에 맞게 약간의 수정 작업이 완료된 perfekt입니다 ... SELECT 팀, 백작 (*) FROM (팀원으로 팀을 선택하십시오. 여기에서 dato <= '$ today'노동 조합은 모두 팀원으로 팀을 선택합니다 어디에서 dato <= '$ today') d 팀 별 팀 ORDER BY 횟수 (*) 설명 LIMIT 20 정말 고마워요! –

0
SELECT SUM(Away)+SUM(Home) AS NumGames 
FROM Games 
WHERE [email protected] 

분명히 이것은 의사 코드이지만 적절한 테이블/필드/매개 변수를 넣어두면 좋습니다. 모두 20 개 팀

:

SELECT TOP 20 Team, SUM(Away)+SUM(Home) AS NumGames 
FROM Games 
ORDER BY SUM(Away)+SUM(Home) desc 
+0

이 게임은 한 팀의 총 게임을 얻는 데 적합하지만 상위 20 위의 순위를 매기는 것은 아닙니다. –

0

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 
관련 문제