Sehen Sie sich die 100 höchsten Punktzahlen der Spielgeschichte an SQL-Code WÄHLEN Sie ps.* VON cdb_playsgame ps, WO ps.credits=(wählen Sie MAX(credits) VON cdb_playsgame ps1 wobei ps.uid=ps1.uid UND ps.gametag=ps1.gametag) UND ps.gametag='yeti3' GROUP BY ps.uid, sortiert nach ps.credits, desc LIMIT 100; SQL-Code Wählen Sie ps.* VON cdb_playsgame ps,(wählen Sie ps1.uid, ps1.gametag, MAX(credits) als Credits VON cdb_playsgame ps1 gruppieren nach uid,gametag) t WO ps.credits=t.credits UND ps.uid=t.uid UND ps.gametag=t.gametag UND ps.gametag='yeti3' GROUP BY ps.uid, sortiert nach ps.credits, desc LIMIT 100; Die Ausführungszeit beträgt nur 0,22 Sekunden und ist damit 10.000-mal schneller als die ursprünglichen 25 Sekunden. Überprüfen Sie das beste Spielergebnis des Tages SQL-Code SELECT ps. * , mf. * , m.Benutzername VON cdb_playsgame ps LEFT JOIN cdb_memberfields mf ON mf.uid = ps.uid LEFT JOIN cdb_members m ON m.uid = ps.uid WO ps.gametag = "chuansj" UND FROM_UNIXTIME(ps.dateline, '%Y%m%d') = '20081008' UND ps.credits = ( Wählen Sie MAX(ps1.credits) VON cdb_playsgame ps1 WO ps.uid = ps1.uid UND ps1.gametag = "chuansj" UND FROM_UNIXTIME(ps1.dateline, '%Y%m%d') = '20081008') GRUPPE NACH ps.uid ORDER BY Credits DESC GRENZE 0 , 50 Wie in der Abfrage: UND ps.credits=(SELECT MAX(ps1.credits) VON {$tablepre}playsgame ps1, wobei ps.uid=ps1.uid UND ps1.gametag = '$game' UND FROM_UNIXTIME(ps1.dateline, '%Y%m%d') = '$todaytime' ) Besonders zeitaufwendig Auch wie: FROM_UNIXTIME(ps1.dateline, '%Y%m%d') = '$heutezeit' Eine solche Anweisung führt dazu, dass der Index ungültig wird, da der Wert jeder Datenzeile mithilfe der Funktion berechnet und wie folgt angepasst werden muss: SQL-Code UND ps1.dateline >= UNIX_TIMESTAMP('$todaytime') //Nach der Änderung SELECT ps. * , mf. * , m.Benutzername VON cdb_playsgame ps, cdb_memberfields mf, cdb_members m, ( SELECT ps1.uid, MAX( ps1.credits ) AS Credits VON cdb_playsgame ps1 WO ps1.gametag = "chuansj" UND ps1.dateline >= UNIX_TIMESTAMP( '20081008' ) GRUPPE NACH ps1.uid ) AS t WO mf.uid = ps.uid UND m.uid = ps.uid UND ps.gametag = "chuansj" UND ps.credits = t.credits UND ps.uid = t.uid GRUPPE NACH ps.uid ORDER BY Credits DESC GRENZE 0 , 50 Notieren Sie für jeden Spieler die Spielernummer, den Namen und die Anzahl der Geldstrafen, die er erhalten hat, jedoch nur für die Spieler, die mindestens zwei Geldstrafen erhalten haben. Für eine kompaktere Abfrage platzieren Sie eine Unterabfrage in der FROM-Klausel. SQL-Code WÄHLEN SIE SPIELERNR., NAME, NUMMER VON (SPIELERNR.,NAME AUSWÄHLEN, (ANZAHL AUSWÄHLEN(*) VON STRAFEN WO STRAFEN.SPIELERNR = SPIELER.SPIELERNR) ALS NUMMER AB ZANGE) ALS PN WO ZAHL>=2 Die Unterabfrage in der FROM-Klausel ermittelt für jeden Spieler die Spielernummer, den Namen und die Strafnummer. Anschließend wird diese Zahl zu einer Spalte im Zwischenergebnis. Anschließend wird eine Bedingung angegeben (NUMBER>=2); abschließend werden die Spalten in der SELECT-Klausel abgerufen. Zusammenfassen Dies ist der gesamte Inhalt dieses Artikels zur Beispielanalyse von MySQL-Unterabfragen und verschachtelten Abfrageoptimierungen. Ich hoffe, er wird für alle hilfreich sein. Interessierte Freunde können sich hier informieren: Beispiele für Optimierungstechniken für die Effizienz langsamer Unterabfragen der MySQL IN-Anweisung, eine kurze Erörterung der Effizienz der Union und IN-Unterabfragen von MySQL usw. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht und der Herausgeber wird diese rechtzeitig beheben. Vielen Dank, Freunde, für Ihre Unterstützung von 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: js realisiert 3D-Soundeffekte durch audioContext
>>: Verwenden Sie die Befehle more, less und cat in Linux, um Dateiinhalte anzuzeigen
Ich verwende CSS schon seit langer Zeit, habe jed...
1. Zeigen Sie die Dateien oder Verzeichnisse im V...
Inhaltsverzeichnis 1: Bereiten Sie das https-Zert...
1. Idee Es dauerte nur 6 Sekunden, um 1.000.000 D...
Vorwort In MySQL werden datenbankübergreifende Ab...
In diesem Artikelbeispiel wird der spezifische Ja...
Normalerweise müssen wir uns bei der Projektentwic...
Um War mit Docker bereitzustellen, müssen Sie ein...
1. Ich habe vor kurzem eine neue Version von Ubun...
⑴ Der Inhalt bestimmt die Form. Reichern Sie zuers...
Empfohlene Docker-Lernmaterialien: https://www.ru...
Serverstatusanalyse CPU-Details des Linux-Servers...
Die aktuelle Umgebung ist: Centos 7.5 docker-ce 1...
Vorwort JavaScript ist eine der am häufigsten ver...
1.Befehl nicht gefunden Befehl nicht gefunden 2. ...