sql >> Database teknologi >  >> RDS >> Mysql

MySQL-underforespørgsel i ORDER BY-feltet. (uden indre led)

Jeg kan ikke rigtig se en måde at gøre det direkte ved at bruge ORDER BY FIELD.

Men jeg spekulerer på, om du kunne lave en JOIN mod metatabellen og derefter BESTILLE VED et FIND_IN_SET.

Ikke testet dette, men vil forhåbentlig give dig ideen:-

SELECT * 
FROM `categories` 
INNER JOIN meta ON metakey = 'category_order' AND FIND_IN_SET(categories.ID,metavalue)
WHERE `parent` = '0' 
ORDER BY FIND_IN_SET(categories.ID,metavalue)

Muligvis er FIND_IN_SET på JOIN ikke nødvendigt



  1. PHP Mens loop viser kun sidste række

  2. Hvad er der galt med denne UPDATE-forespørgsel?

  3. Beregn antallet af samtidige hændelser i SQL

  4. Hvordan forhindrer man mySQL i at nulstille automatisk stigningsværdi?