sql >> Database >  >> RDS >> Mysql

MySQL - ORDER BY-waarden binnen IN()

SELECT id, name
FROM mytable
WHERE name IN ('B', 'A', 'D', 'E', 'C')
ORDER BY FIELD(name, 'B', 'A', 'D', 'E', 'C')

Het FIELD functie retourneert de positie van de eerste tekenreeks in de resterende lijst met tekenreeksen.

Het is echter qua prestaties veel beter om een ​​geïndexeerde kolom te hebben die uw sorteervolgorde vertegenwoordigt, en vervolgens op deze kolom te sorteren.



  1. Implementeer SQL Server AlwaysOn-beschikbaarheidsgroepen op Linux

  2. SQL-telling

  3. Een weergave maken met de ORDER BY-component

  4. Epoch-tijdstempel converteren naar sql-server (menselijk leesbaar formaat)