Récupérer les deux dernières dates par ID

mikesunshine59 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'utilise le code ci-dessous pour récupérer les deux dernières 'Datecreation' pour chaque 'MarketName'. Je remarque que cela ne me donne pas les deux dernières 'Datecreation' pour chaque 'MarketName' et je ne comprends pas pourquoi.

Je précise que DateCreation est dans ce format : YYYY-MM-DD HH:MM:SS (Exemple : 2018-02-11 09:25:02)

Pouvez-vous m'aider svp ?


SELECT
getmarketsummaries.*
FROM
getmarketsummaries INNER JOIN (
SELECT
MarketName,
GROUP_CONCAT(Datecreation ORDER BY MarketName DESC) grouped_Datecreation
FROM
getmarketsummaries
GROUP BY MarketName) group_max
ON getmarketsummaries.MarketName = group_max.MarketName
AND FIND_IN_SET(Datecreation, grouped_Datecreation) BETWEEN 1 AND 2
ORDER BY
getmarketsummaries.MarketName, getmarketsummaries.Datecreation DESC

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, et ceci?
SELECT id, Timestamp
   FROM
     (SELECT id, Timestamp, 
		@id_rank := IF(@cur_id = ID, @id_rank + 1, 1) AS id_rank,
                  @cur_id := id
       FROM (SELECT *, @cur_id:=id from testy.t_testy
       ORDER BY id, Timestamp DESC) ordered
       ) ranked
   WHERE id_rank <= 2
ORDER BY id, Timestamp;
0