2017-06-11 1 views
0

Voici la requête mysql:Confusion au sujet orderby dans la requête MySQL

SELECT * FROM `is_product_info` ORDER BY (select distinct product_id from is_product_images where is_product_images.product_id = is_product_info.id) asc 

Je ne reçois pas comment l'ordre par des œuvres avec sous-requête ici.

Je suis tombé sur de telles requêtes ayant ordre par sous-requête dans le plugin wordpress. C'est nouveau pour moi, donc je demande si quelqu'un d'autre le sait. Ci-dessous est un exemple:

SELECT wp22_posts.* 
    FROM wp22_posts 
    LEFT 
    JOIN wp22_term_relationships 
    ON wp22_posts.ID = wp22_term_relationships.object_id 
WHERE 1=1 
    AND wp22_posts.ID IN(260,412,413,414,415,469,474,483 
         ,485,487,488,515,516,563,568‌​,569 
         ,584,592,593,596‌​,599,601,604,610 
         ,612‌​,672,675,678,681,690‌​,860,861,862,863) 
GROUP 
    BY wp22_posts.ID 
ORDER 
    BY (SELECT distinct meta_value from wp22_postmeta where'meta_key' LIKE 'price') ASC 
LIMIT 0, 10 

Y at-il quelqu'un qui décrivent cette requête?

+0

C'est parce que c'est charabia – Strawberry

+0

Je suis tombé sur de telles requêtes ayant ordre par sous-requête dans le plugin wordpress. C'est nouveau pour moi, donc je demande si quelqu'un d'autre le sait. est tel exemple ci-dessous:. SELECT * FROM wp22_posts wp22_posts LEFT JOIN wp22_term_relationships ON (wp22_posts.ID = wp22_term_relationships.object_id) 1 = 1 ET (wp22_posts.ID dans (260,412,413,414,415,469,474,483,485,487,488,515,516,563,568,569,584,592,593,596,599,601,604,610,612,672,675,678,681,690,860,861,862,863)) GROUP BY wp22_posts.ID ORDER BY (SELECT distinct meta_value de wp22_postmeta où 'meta_key' LIKE 'price') ASC LIMIT 0, 10 –

+0

Cependant, l'exemple de requête WordPress est très pauvre et a été construit par quelqu'un qui ne comprend pas vraiment ce qu'il fait – Strawberry

Répondre

0

Pour répondre à votre question, la clause ORDER BY ne fait rien du tout (sauf peut-être empêcher la requête de fonctionner).