Question à 2 sous :
Tu es déjà sûr qu'il comprend bien ton format de date ?
Je suppose que oui (j'aurais mis un DATE_FORMAT, mais c'est pas la question).
Quant au fonds de ta question :
Il y a des subtilités sur les UNION et les ORDER BY : voir ici
En gros
Citation :
However, use of ORDER BY for individual SELECT statements implies nothing about the order in which the rows appear in the final result because UNION by default produces an unordered set of rows. Therefore, the use of ORDER BY in this context is typically in conjunction with LIMIT, so that it is used to determine the subset of the selected rows to retrieve for the SELECT, even though it does not necessarily affect the order of those rows in the final UNION result. If ORDER BY appears without LIMIT in a SELECT, it is optimized away because it will have no effect anyway.
|
Donc, si tu veux faire des tris à l'intérieur des requêtes liées par un UNION, tu es obligé de mettre un "LIMIT" dans chacune de tes requêtes, sinon il s'en fout royalement à l'affichage (et dans ton cas, ça fait un effet de bord marrant, puisque la première requête est quand même triée).
Testé et approuvé.
(j'ai mis n'importe quoi dans le LIMIT, ce qui n'est pas terrible, mais a priori on n'a pas trop le choix).
Message édité par deliriumtremens le 28-05-2010 à 10:00:08