2010-04-07 10 views
1

J'ai une requête qui fait ce que je veux joindre la table, mais j'ai besoin de changer légèrement pour que je puisse l'utiliser pour autre chose.Obtenir les 5 derniers enregistrements d'une requête jointe

J'ai besoin pour obtenir les 5 derniers enregistrements, donc je devrais utiliser la fonction max et de limiter à 5, mais il ne fonctionne pas correctement

Ceci est ma requête en cours, juste besoin d'obtenir les 5 derniers enregistrements (probablement par le festivalid)

SELECT f.*, 
    v.total, 
    v.votes, 
    v.festivalid, 
    ifnull(r.reviewcount,0) as count 
FROM festivals f 
INNER 
JOIN vote v 
    ON f.festivalid = v.festivalid 
LEFT OUTER 
JOIN (SELECT festivalid, 
      count(*) as reviewcount 
     FROM reviews 
     GROUP BY festivalid) as r 

    ON r.festivalid = v.festivalid 
WHERE f.datefrom > CURRENT_TIMESTAMP    
    ORDER BY f.datefrom, f.eventname 

Répondre

3
ORDER BY f.datefrom DESC, f.eventname DESC 
Limit 5 
+0

J'ai essayé, mais un dossier pourrait être ajouté où la dateFrom est inférieure à d'autres déjà stockés. Je pense que j'ai besoin de saisir les 5 derniers identifiants qui sont mis peu importe ce que la date est – AdRock

+0

En fait vous aviez raison et tout ce que j'ai fait était de changer l'ordre par festivalid DESC LIMIT 5 et cela a fonctionné – AdRock