Kódím.cz
3

Výuka

Masíčko, tady už končí zábavné počteníčko a začíná zákopová válka se středníky, uvozovkami, čárkami. SELECT, FROM, WHERE, LEFT(), INNER JOIN, WITH, ROW_NUMBER() OVER (ORDER BY PARTITION BY) atd.

3
Úkol 6.3

Co dělá následující select?

WITH SUCORG AS (
    SELECT GNAME
    FROM teror2
    WHERE NKILL > 0
    GROUP BY GNAME
    HAVING COUNT(*) > 5
),
SERAZENO AS(
    SELECT GNAME,
        NKILL,
        IFNULL(NKILL, 0),
        NWOUND,
        EVENTDATE,
        COUNTRY,
        CITY,
        ROW_NUMBER() OVER (
            PARTITION BY GNAME
            ORDER BY IFNULL(NKILL, 0) DESC
        ) RNFROM teror2
    WHERE GNAME IN (
            SELECT GNAME
            FROM SUCORG
        )
)
SELECT S.GNAME,
    S.NKILL,
    S.NWOUND,
    S.EVENTDATE,
    S.CITY,
    C.NAME COUNTRYFROM SERAZENO S
    LEFT JOIN COUNTRY C ON S.COUNTRY = C.IDWHERE S.RN <= 3ORDER BY S.GNAME,
    NKILL DESC;

Řešení