2011-05-05 3 views
1

Hé, je ne suis pas le plus grand expert avec MySQL, mais voici ce que j'ai jusqu'à présent pour obtenir le MAX enteryUtiliser MySQL pour sélectionner le MAX d'une somme des 5 dernières entrées?

SELECT DISTINCT 
      websites.id, 
      websites.title, 
      websites.url, 
      websites.screenshot, 
      impressions.number, 
      blocks.price 
    FROM websites 
LEFT JOIN blocks ON websites.id = blocks.website 
LEFT JOIN impressions ON blocks.id = impressions.block 
    WHERE status = 1 
     AND blocks.active = '1' 
     AND impressions.number = (SELECT MAX(number) 
            FROM impressions) 

Ce que je veux faire est de sélectionner au maximum (nombre), mais la somme de les 5 dernières entrées. J'ai essayé de déconner mais je n'arrive tout simplement pas à comprendre.

+1

Les cinq derniers basés sur quoi? –

+0

@OMG Poneys, je devine les cinq dernières impressions.number –

Répondre

1

Pour obtenir les cinq derniers enregistrements, cela dépend de la colonne par laquelle vous triez. Supposons que c'est une colonne de date, donc alors un exemple serait:

SELECT MAX(n) FROM tbl ORDER BY datecol DESC limit 5; 
2

Les cinq derniers impressions.number cela devrait le faire ne sais pas ce que vous voulez résumer le bien

SELECT DISTINCT websites.id, 
       websites.title, 
       websites.url, 
       websites.screenshot, 
       impressions.number, 
       blocks.price 
FROM websites 
     LEFT JOIN blocks 
     ON websites.id = blocks.website 
     LEFT JOIN impressions 
     ON blocks.id = impressions.block 
WHERE status = 1 
     AND blocks.active = '1' 
ORDER BY impressions.number 
LIMIT 5 

Si vous vouliez faire la somme des prix de blocks.price vous pourriez juste faire

SELECT SUM(lastblocks.price) 
    FROM (
    SELECT 
      price 
    FROM websites 
      LEFT JOIN blocks 
      ON websites.id = blocks.website 
      LEFT JOIN impressions 
      ON blocks.id = impressions.block 
    WHERE status = 1 
      AND blocks.active = '1' 
    ORDER BY impressions.number 
    LIMIT 5) lastblocks 
Questions connexes