Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL показва резултатите по азбучен ред, но показва конкретен елемент преди сортирания по азбучен ред списък

просто направете условна поръчка чрез с изявление за case като така

ЗАПИТВАНЕ:

SELECT * 
FROM $tableName 
GROUP BY primary_category
ORDER BY 
    CASE primary_category WHEN 'USA' THEN 1 ELSE 2 END ASC,
    primary_category ASC

РЕДАКТИРАНЕ:

ако искате първо да поръчате по няколко полета, а след това по останалите, можете да го направите по този начин.

SELECT * 
FROM $tableName 
GROUP BY primary_category
ORDER BY 
    CASE primary_category 
      WHEN 'USA' THEN 1 --#-- 1 for usa
      WHEN 'China' THEN 2 --#-- 2 for china
      ELSE 3 END ASC, --#-- 3 for anything else
    primary_category ASC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите резултатите от nodejs с помощта на mysql пакет?

  2. Има ли причина да не използвате съхранени процедури за всяка заявка?

  3. как мога да архивирам и възстановя датата от база данни на mysql

  4. Започнете да преглеждате резултатите от заявката, преди заявката да приключи

  5. Как мога да спра MySQL заявка, ако отнема твърде много време?