Bonjour,

J'ai une requête qui comporte une sous requête dans laquelle je voudrais mettre un limit afin de ne ressortir qu'un certain nombre d'enregistrements.
Mon souci vient du fait que le limit n'est pas accepté avec la version de mysql que j'ai : 5.0.44.

Voici ma requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT T1.* FROM table T1
WHERE T1.table_id IN 
(
	SELECT T2.table_id
	FROM table T2
	ORDER BY T2.table_date DESC 
	LIMIT 10
)
ORDER BY T1.table_date ASC
En fait je voudrais ressortir les 10 derniers enregistrements selon les dates mais trié par ordre croisant.

J'ai pensé récupérer mes 10 derniers dans la sous requête est de les triés dans la requête principale.

Pouvez vous me dire comment je peux changer ma requête pour que cela marche?


Pour faire plus simple, je souhaite récupérer les X derniers enregistrements que me retourne une requête sql.


[edit]
J'ai trouver la solution grâce à cette page :
http://blog.developpez.com/james-pou...-une-sous-req/

Ce qui pour moi donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
SELECT T1.* FROM table T1
WHERE T1.table_id IN 
(
	SELECT * FROM (
		SELECT T2.table_id
		FROM table T2
		ORDER BY T2.table_date DESC 
		LIMIT 10
	) AS temp
)
ORDER BY T1.table_date ASC
[/edit]