COUNT(*) effektiv in MySQL-WHERE-Klauseln verwenden
Um das gewünschte Ergebnis in MySQL zu erzielen, wo Sie unterschiedliche GID-Werte auswählen möchten Bei einer COUNT(*)-Bedingung über 10 und Sortieren der Ergebnisse in absteigender Reihenfolge ist der von Ihnen vorgeschlagene Ansatz mit einer verschachtelten SELECT-Abfrage innerhalb der WHERE-Klausel möglicherweise nicht der effizienteste.
Erwägen Sie stattdessen die Verwendung von GROUP BY und HAVING-Klauseln, um Ihre Aufgabe zu erfüllen. Hier ist die korrigierte Abfrage:
SELECT gid FROM `gd` GROUP BY gid HAVING COUNT(*) > 10 ORDER BY lastupdated DESC
Verstehen der Abfrage
Die GROUP BY-Klausel organisiert die GD-Tabellendaten nach der GID-Spalte. Diese Aktion aggregiert Zeilen mit demselben GID-Wert.
Anschließend wendet die HAVING-Klausel einen Filter auf die gruppierten Zeilen an und wählt nur diejenigen mit einem COUNT(*) größer als 10 aus. Dadurch wird sichergestellt, dass die zurückgegebenen Ergebnisse übereinstimmen Ihre angegebenen Häufigkeitskriterien.
Schließlich ordnet die ORDER BY-Klausel die verbleibenden Zeilen in absteigender Reihenfolge basierend auf dem zuletzt aktualisierten Zeitstempel an, sodass Sie die gewünschte Sortierung erhalten.
Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL effizient eindeutige „gid'-Werte mit einem „COUNT(*)' größer als 10 auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!