Erklären Sie die Sortiermethode innerhalb der MySQL-Gruppe für Gruppe
MySQLs Gruppieren nach-Syntax kann Daten nach bestimmten Regeln gruppieren. Die Gruppierung besteht darin, einen Datensatz in mehrere kleine Bereiche zu unterteilen und dann auf mehrere kleine Bereiche abzuzielen. In diesem Artikel wird erläutert, wie die Sortierung innerhalb einer Gruppe implementiert wird, wenn MySQL „Gruppe nach“ verwendet.
Empfohlene verwandte MySQL-Video-Tutorials: „MySQL-Tutorial“
MySQLs Gruppierung nach Syntax kann Daten gruppieren, die gruppierten Daten können jedoch nicht gruppiert werden. Sortierung innerhalb von Gruppen.
Wenn beispielsweise eine Kommentartabelle mehrere Benutzerkommentare enthält, ist es notwendig, den Inhalt des letzten Kommentars jedes Benutzers abzurufen.
Testdatentabelle und -daten erstellen
CREATE TABLE `comment` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL, `content` varchar(200) NOT NULL, `addtime` datetime NOT NULL, `lastmodify` datetime NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `addtime` (`addtime`), KEY `uid_addtime` (`user_id`,`addtime`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `comment` (`id`, `user_id`, `content`, `addtime`, `lastmodify`) VALUES(1, 1, '评论1', '2017-05-17 00:00:00', '2017-05-17 00:00:00'), (2, 1, '评论2', '2017-05-17 00:00:01', '2017-05-17 00:00:01'), (3, 2, '评论1', '2017-05-17 00:00:02', '2017-05-17 00:00:02'), (4, 2, '评论2', '2017-05-17 00:00:03', '2017-05-17 00:00:03'), (5, 3, '评论1', '2017-05-17 00:00:04', '2017-05-17 00:00:04'), (6, 1, '评论3', '2017-05-17 00:00:05', '2017-05-17 00:00:05'), (7, 4, '评论1', '2017-05-17 00:00:06', '2017-05-17 00:00:06'), (8, 4, '评论2', '2017-05-17 00:00:07', '2017-05-17 00:00:07'), (9, 4, '评论3', '2017-05-17 00:00:08', '2017-05-17 00:00:08'), (10, 4, '评论4', '2017-05-17 00:00:09', '2017-05-17 00:00:09'), (11, 3, '评论2', '2017-05-17 00:00:10', '2017-05-17 00:00:10');select * from comment;+----+---------+---------+---------------------+---------------------+| id | user_id | content | addtime | lastmodify | +----+---------+---------+---------------------+---------------------+| 1 | 1 | 评论1 | 2017-05-17 00:00:00 | 2017-05-17 00:00:00 | | 2 | 1 | 评论2 | 2017-05-17 00:00:01 | 2017-05-17 00:00:01 | | 3 | 2 | 评论1 | 2017-05-17 00:00:02 | 2017-05-17 00:00:02 | | 4 | 2 | 评论2 | 2017-05-17 00:00:03 | 2017-05-17 00:00:03 | | 5 | 3 | 评论1 | 2017-05-17 00:00:04 | 2017-05-17 00:00:04 | | 6 | 1 | 评论3 | 2017-05-17 00:00:05 | 2017-05-17 00:00:05 | | 7 | 4 | 评论1 | 2017-05-17 00:00:06 | 2017-05-17 00:00:06 | | 8 | 4 | 评论2 | 2017-05-17 00:00:07 | 2017-05-17 00:00:07 | | 9 | 4 | 评论3 | 2017-05-17 00:00:08 | 2017-05-17 00:00:08 | | 10 | 4 | 评论4 | 2017-05-17 00:00:09 | 2017-05-17 00:00:09 | | 11 | 3 | 评论2 | 2017-05-17 00:00:10 | 2017-05-17 00:00:10 | +----+---------+---------+---------------------+---------------------+
In der Kommentartabelle befindet sich der Inhalt des letzten Kommentars jedes Benutzers mit der ID 6 ,4,11,10 Datensätze.
Verwenden Sie „Gruppieren nach“, um
select * from comment group by user_id; +----+---------+---------+---------------------+---------------------+| id | user_id | content | addtime | lastmodify | +----+---------+---------+---------------------+---------------------+| 1 | 1 | 评论1 | 2017-05-17 00:00:00 | 2017-05-17 00:00:00 | | 3 | 2 | 评论1 | 2017-05-17 00:00:02 | 2017-05-17 00:00:02 | | 5 | 3 | 评论1 | 2017-05-17 00:00:04 | 2017-05-17 00:00:04 || 7 | 4 | 评论1 | 2017-05-17 00:00:06 | 2017-05-17 00:00:06 | +----+---------+---------+---------------------+---------------------+
abzufragen, um die Ergebnisse anzuzeigen. Nach der Gruppierung wird nur das erste Datenelement in der Gruppe zurückgegeben. Da die Gruppierung nach Syntax nicht die Funktion hat, innerhalb der Gruppe zu sortieren, wird sie nur gemäß der Standardsortierung von MySQL angezeigt.
Wie sortiere ich die Daten gruppenweise? Dies muss je nach Bedarf verarbeitet werden.
1. Derjenige mit der größten ID, die Kommentarzeit muss der späteste sein
In diesem Fall wir Sie können die ID anstelle der Zeit verwenden. Suchen und sortieren Sie innerhalb der Gruppe. Verwenden Sie max(id), um die größte Kommentar-ID (d. h. den neuesten Kommentar) in jeder Gruppe zu erhalten
select * from comment where id in(select max(id) from comment group by user_id) order by user_id; +----+---------+---------+---------------------+---------------------+| id | user_id | content | addtime | lastmodify | +----+---------+---------+---------------------+---------------------+| 6 | 1 | 评论3 | 2017-05-17 00:00:05 | 2017-05-17 00:00:05 | | 4 | 2 | 评论2 | 2017-05-17 00:00:03 | 2017-05-17 00:00:03 | | 11 | 3 | 评论2 | 2017-05-17 00:00:10 | 2017-05-17 00:00:10 || 10 | 4 | 评论4 | 2017-05-17 00:00:09 | 2017-05-17 00:00:09 | +----+---------+---------+---------------------+---------------------+
2. Die Kommentarzeit mit der größeren ID hat möglicherweise nicht die neueste
🎜>max(addtime), um den neuesten Kommentar zu erhalten, da jedoch die Kommentarzeit verschiedener Benutzer gleich sein kann, ist es notwendig, die Bedingung user_id zur Abfrage hinzuzufügen.
Erstellen Sie die Testdaten neutruncate table comment;INSERT INTO `comment` (`id`, `user_id`, `content`, `addtime`, `lastmodify`) VALUES(1, 1, '评论1', '2017-05-17 00:00:00', '2017-05-17 00:00:00'), (2, 1, '评论2', '2017-05-17 00:10:01', '2017-05-17 00:10:01'), (3, 2, '评论1', '2017-05-17 00:10:02', '2017-05-17 00:10:02'), (4, 2, '评论2', '2017-05-17 00:00:03', '2017-05-17 00:00:03'), (5, 3, '评论1', '2017-05-17 00:10:04', '2017-05-17 00:10:04'), (6, 1, '评论3', '2017-05-17 00:00:05', '2017-05-17 00:00:05'), (7, 4, '评论1', '2017-05-17 00:00:06', '2017-05-17 00:00:06'), (8, 4, '评论2', '2017-05-17 00:10:07', '2017-05-17 00:10:07'), (9, 4, '评论3', '2017-05-17 00:00:08', '2017-05-17 00:00:08'), (10, 4, '评论4', '2017-05-17 00:00:09', '2017-05-17 00:00:09'), (11, 3, '评论2', '2017-05-17 00:00:10', '2017-05-17 00:00:10');select * from comment;+----+---------+---------+---------------------+---------------------+| id | user_id | content | addtime | lastmodify | +----+---------+---------+---------------------+---------------------+| 1 | 1 | 评论1 | 2017-05-17 00:00:00 | 2017-05-17 00:00:00 | | 2 | 1 | 评论2 | 2017-05-17 00:10:01 | 2017-05-17 00:10:01 | | 3 | 2 | 评论1 | 2017-05-17 00:10:02 | 2017-05-17 00:10:02 | | 4 | 2 | 评论2 | 2017-05-17 00:00:03 | 2017-05-17 00:00:03 | | 5 | 3 | 评论1 | 2017-05-17 00:10:04 | 2017-05-17 00:10:04 | | 6 | 1 | 评论3 | 2017-05-17 00:00:05 | 2017-05-17 00:00:05 | | 7 | 4 | 评论1 | 2017-05-17 00:00:06 | 2017-05-17 00:00:06 | | 8 | 4 | 评论2 | 2017-05-17 00:10:07 | 2017-05-17 00:10:07 | | 9 | 4 | 评论3 | 2017-05-17 00:00:08 | 2017-05-17 00:00:08 | | 10 | 4 | 评论4 | 2017-05-17 00:00:09 | 2017-05-17 00:00:09 | | 11 | 3 | 评论2 | 2017-05-17 00:00:10 | 2017-05-17 00:00:10 | +----+---------+---------+---------------------+---------------------+
2,3,5,8
select a.* from comment as a right join (select user_id, max(addtime) as maxtime from comment where user_id is not null group by user_id) as b on a.user_id=b.user_id and a.addtime=b.maxtime order by a.user_id asc;+------+---------+---------+---------------------+---------------------+| id | user_id | content | addtime | lastmodify | +------+---------+---------+---------------------+---------------------+| 2 | 1 | 评论2 | 2017-05-17 00:10:01 | 2017-05-17 00:10:01 | | 3 | 2 | 评论1 | 2017-05-17 00:10:02 | 2017-05-17 00:10:02 | | 5 | 3 | 评论1 | 2017-05-17 00:10:04 | 2017-05-17 00:10:04 | | 8 | 4 | 评论2 | 2017-05-17 00:10:07 | 2017-05-17 00:10:07 | +------+---------+---------+---------------------+---------------------+
Wenn user_id nicht null ist, können Sie den Index verwenden, wenn Sie nach user_id gruppieren.
So verwenden Sie PHP, um die API widerzuspiegeln, um Klasseninformationen zu erhalten
Detaillierte Erklärung Beim Abfragen von MySQL Offset wird übergeben Gründe und Optimierungsmethoden, die sich stark auf die Leistung auswirken
Über die Methode zur Verwendung von regulärem PHP zum Entfernen von Breiten- und Höhenstilen
Das obige ist der detaillierte Inhalt vonErklären Sie die Sortiermethode innerhalb der MySQL-Gruppe für Gruppe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

Eine effektive Überwachung von Redis -Datenbanken ist entscheidend für die Aufrechterhaltung einer optimalen Leistung, die Identifizierung potenzieller Engpässe und die Gewährleistung der Zuverlässigkeit des Gesamtsystems. Redis Exporteur Service ist ein leistungsstarkes Dienstprogramm zur Überwachung von Redis -Datenbanken mithilfe von Prometheus. In diesem Tutorial führt Sie die vollständige Setup und Konfiguration des Redis -Exporteur -Dienstes, um sicherzustellen, dass Sie nahtlos Überwachungslösungen erstellen. Durch das Studium dieses Tutorials erhalten Sie voll funktionsfähige Überwachungseinstellungen
