przewiń do treści

PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych

Włodzimierz Gajda

SELECT
    k.klub_id as klub_id,
    k.liga_id as liga_id,
    SUM(
        (@remis := IF (m.gol1 = m.gol2, 1, 0)) +
        (@zwyciestwo :=
            IF (
                (m.gol1 > m.gol2 AND m.gospodarz = k.klub_id) OR
                (m.gol1 < m.gol2 AND m.gosc = k.klub_id),
                1,
                0
            )
        ) * 3
    ) as punkty,
    SUM(
        IF (m.gospodarz = k.klub_id OR m.gosc = k.klub_id, 1, 0)
    ) as mecze,
    SUM(@zwyciestwo) as zwyciestwa,
    SUM(@remis) as remisy,
    SUM(
        IF (
            (m.gol1 < m.gol2 AND m.gospodarz = k.klub_id) OR
            (m.gol1 > m.gol2 AND m.gosc = k.klub_id),
            1,
            0
        )
    ) as przegrane,
    SUM(
        IF (m.gospodarz = k.klub_id, m.gol1, m.gol2)
    ) as bramkizdobyte,
    SUM(
        IF (m.gospodarz = k.klub_id, m.gol2, m.gol1)
    ) as bramkistracone
from
    klub as k,
    mecz as m
where
    k.klub_id = 16 AND
    (m.gospodarz = k.klub_id  OR m.gosc = k.klub_id)

Listing 20.1. Zapytanie SQL wyznaczające informacje statystyczne o klubie, dla którego klub_id = 16

Rozdział 20. Sortowanie tabel

listing-20-01.txt

Reklama

Szkolenia z Symfony 2.0