Řeším teď následující problém:
Potřebuji vypsat posledních 5 článků z DB, články píšou uživatelé, tzn. je u nich uloženo UID.
Já potřebuji vypsat posledních 5, ale s tím, aby se mezi nimi vyskytovaly články vždy od jiného uživatele, tzn. aby tam nebyly 2 články od stejného autora.
Pokud použiji GROUP BY uid, tak mi to nevypíše posledné jeho článek, přitim mám created DESC.
Nevíte kde je problém?
Popis tabulek a dotaz který mi nefunguje...
node - články bez textu
node_revisions - obsahy článku
users_roles - přiřazení uživatelů do skupin
potřebuji vybrat posledních 5 článků od každého uživatele, který je ve skupině 5 s tím, že se v tomto výpisu bude vyskytovat max. 1 článek od 1 autora.
SELECT DISTINCT n.nid, n.title, n.uid, n.created, nr.body FROM {node} n, {node_revisions} nr INNER JOIN {users_roles} r ON (r.rid = 5 AND r.uid = n.uid) WHERE n.nid = nr.nid AND n.type = 'blog' GROUP BY n.uid ORDER BY n.created DESC