Heim > Datenbank > MySQL-Tutorial > Wie rufe ich in einer sortierten MySQL-Abfrage zuerst ein bestimmtes Element ab?

Wie rufe ich in einer sortierten MySQL-Abfrage zuerst ein bestimmtes Element ab?

DDD
Freigeben: 2025-01-24 09:22:10
Original
291 Leute haben es durchsucht

How to Retrieve a Specific Item First in a Sorted MySQL Query?

Priorisierung eines bestimmten Elements in MySQL -Abfrageergebnissen

Diese Anleitung zeigt, wie alle Datensätze aus einer MySQL -Tabelle (mit friends und id enthalten) Spalten abgerufen werden, um sicherzustellen, dass ein bestimmter Freund (z. B. mit name 5) zuerst in den sortierten Ergebnissen erscheint. Wir konzentrieren uns auf MySQL Version 5.1.x. id

Der effizienteste Ansatz verwendet eine bedingte

-Klausel: ORDER BY

<code class="language-sql">SELECT id, name
FROM friends
ORDER BY CASE WHEN id = 5 THEN 0 ELSE 1 END, id ASC;</code>
Nach dem Login kopieren
Diese Abfrage priorisiert

, indem er ihm einen Wert von 0 in der Anweisung id = 5 zugewiesen hat. Alle anderen IDs erhalten einen Wert von 1 und platzieren CASE oben effektiv. Die sekundäre id = 5 sortiert dann die verbleibenden Ergebnisse in der aufsteigenden Reihenfolge der ID. ORDER BY id ASC

alternative (weniger effiziente) Methoden:

zwar weniger effizient als die

Anweisungsmethode, können Sie mit CASE: UNION ALL ein ähnliches Ergebnis erzielen

<code class="language-sql">SELECT id, name
FROM friends
WHERE id = 5
UNION ALL
SELECT id, name
FROM friends
WHERE id != 5
ORDER BY id ASC;</code>
Nach dem Login kopieren
Dieser Ansatz wählt zuerst die spezifische ID aus und wählt dann alle anderen IDs aus und sortiert schließlich das kombinierte Ergebnis. Diese Methode ist jedoch im Allgemeinen langsamer als der Ansatzansatz

, insbesondere bei größeren Datensätzen. CASE

Wählen Sie die Aussagemethode

für eine optimale Leistung und Lesbarkeit. Es wird direkt mit der Sortieranforderung innerhalb einer einzelnen Abfrage befasst. CASE

Das obige ist der detaillierte Inhalt vonWie rufe ich in einer sortierten MySQL-Abfrage zuerst ein bestimmtes Element ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage