Heim > Datenbank > MySQL-Tutorial > Wie ordne ich Kunden in MySQL nach Alter und Geschlecht ein?

Wie ordne ich Kunden in MySQL nach Alter und Geschlecht ein?

Barbara Streisand
Freigeben: 2025-01-24 04:57:07
Original
188 Leute haben es durchsucht

How to Rank Customers by Age and Gender in MySQL?

Kundenranking in MySQL: Ein praktischer Leitfaden

MySQL bietet keine integrierte Rangfolgefunktion und erfordert benutzerdefinierte Abfragen zur Einstufung von Kunden nach Alter und Geschlecht. Dieser Leitfaden zeigt eine Lösung unter Verwendung einer benutzerdefinierten Variablen für ein effizientes Ranking.

Die Abfrage:

Diese Abfrage verwendet eine Variable, um Ränge zuzuweisen:

<code class="language-sql">SELECT    first_name,
          age,
          gender,
          @curRank := @curRank + 1 AS rank
FROM      person p, (SELECT @curRank := 0) r
ORDER BY  age;</code>
Nach dem Login kopieren

Der clevere Teil ist die Unterabfrage (SELECT @curRank := 0) r. Dadurch wird die Ranking-Variable @curRank elegant initialisiert, sodass keine separate SET-Anweisung erforderlich ist.

Anschauliches Beispiel:

Betrachten wir eine Beispiel-personTabelle:

<code class="language-sql">CREATE TABLE person (id int, first_name varchar(20), age int, gender char(1));

INSERT INTO person VALUES (1, 'Bob', 25, 'M');
INSERT INTO person VALUES (2, 'Jane', 20, 'F');
INSERT INTO person VALUES (3, 'Jack', 30, 'M');
INSERT INTO person VALUES (4, 'Bill', 32, 'M');
INSERT INTO person VALUES (5, 'Nick', 22, 'M');
INSERT INTO person VALUES (6, 'Kathy', 18, 'F');
INSERT INTO person VALUES (7, 'Steve', 36, 'M');
INSERT INTO person VALUES (8, 'Anne', 25, 'F');</code>
Nach dem Login kopieren

Abfrageergebnisse:

Das Ausführen der Abfrage liefert die folgenden Kundendaten nach Rang:

<code>+------------+------+--------+------+
| first_name | age  | gender | rank |
+------------+------+--------+------+
| Kathy      |   18 | F      |    1 |
| Jane       |   20 | F      |    2 |
| Nick       |   22 | M      |    3 |
| Bob        |   25 | M      |    4 |
| Anne       |   25 | F      |    5 |
| Jack       |   30 | M      |    6 |
| Bill       |   32 | M      |    7 |
| Steve      |   36 | M      |    8 |
+------------+------+--------+------+</code>
Nach dem Login kopieren

Dadurch werden die Kunden übersichtlich nach Alter sortiert angezeigt. Um das Geschlecht in die Rangfolge einzubeziehen, passen Sie einfach die ORDER BY-Klausel an, um das Geschlecht als sekundäres Sortierkriterium einzubeziehen (z. B. ORDER BY age, gender).

Das obige ist der detaillierte Inhalt vonWie ordne ich Kunden in MySQL nach Alter und Geschlecht ein?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage