sql >> Database >  >> RDS >> Mysql

Hoe MYSQL-queryresultaten ORDER BY-voorwaarden te maken?

Om de sortering in de gewenste volgorde te krijgen, gebruikt u uw voorwaarden in de ORDER BY, maar gebruikt u DESC na hen.

SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
    condition1 DESC,
    condition2 DESC,
    condition3 DESC

Als dit niet werkt omdat uw zoekopdracht complexer is, kunt u booleaanse logica gebruiken om uw zoekopdracht te wijzigen (A OR B OR C) AND D in (A AND D) OR (B AND D) OR (C AND D) dan kunt u de volgende zoekopdracht gebruiken:

SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
    condition1 AND static DESC,
    condition2 AND static DESC,
    condition3 AND static DESC

De AND static is hier niet nodig omdat alle rijen het retourneren, maar in een complexer voorbeeld (waar je ook enkele rijen retourneert die niet statisch zijn) dan zou je het op deze manier moeten doen.



  1. Uitzondering:er is al een open DataReader gekoppeld aan deze verbinding die eerst moet worden gesloten

  2. CSV-gegevens invoegen in PostgreSQL-database (externe database)

  3. Een grote hoeveelheid gegevens efficiënt verwerken met MySQL en PHP

  4. Een CHECK-beperking maken in SQL Server (T-SQL-voorbeelden)