Keresés

Új hozzászólás Aktív témák

  • sztanozs

    veterán

    válasz don_peter #20279 üzenetére

    Inner join leszűkíti a találatokat azokra (és csak azokra) az elemekre, amelyek egyeznek - tehát ahol a topik_id és dátum páros az, amit a belső selectben kitúrtál. IUgazából a te esetedben mindhol lehetne inner join-t használni, hiszen a biztos kell lenni egyezésnek userekre és topikokra is.
    Amúgy nincs abban a táblában egy ID mező (ami szigorúan emelkedő)? akkor talán egy kicsivel még egyszerűbb (és gyorsabb) volna, és szerintem belülre is rakható a Limit, az is csökkentené a terhelést:
    SELECT
    t.id, t.title, fu.datum, u.nick
    FROM
    forum_uzenetek fu
    INNER JOIN (
    SELECT
    MAX(id) AS id
    FROM
    forum_uzenetek
    GROUP BY
    topik_id
    ORDER BY
    id DESC
    LIMIT 10) m USING (id)
    INNER JOIN
    topik t ON fu.topik_id = t.id
    INNER JOIN
    users u ON fu.user_id = u.id
    ORDER BY
    datum DESC

Új hozzászólás Aktív témák

Hirdetés