Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So finden Sie ein Listenelement an einer bestimmten Position in MySQL

In MySQL können Sie das ELT() verwenden Funktion, um ein Listenelement an einer bestimmten Position in der Liste zurückzugeben.

Die Syntax lautet wie folgt:

ELT(N,str1,str2,str3,...)

Wobei N ist die Position des Elements, das Sie zurückgeben möchten, und str1,str2,str3,... ist die Liste.

Beispiel

Hier ist ein Beispiel:

SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';

Ergebnis:

+--------------+
| Who is at 3? |
+--------------+
| Bart         |
+--------------+

In diesem Fall geben wir an, dass wir das dritte Element in der Liste zurückgeben möchten (weil das erste Argument 3 ist ) . Und in diesem Fall ist die Liste 'Marge', 'Homer', 'Bart' , das dritte Element ist also Bart .

Zahlen

Hier ist ein Beispiel mit Zahlen:

SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';

Ergebnis:

+--------------------+
| The 3rd item is... |
+--------------------+
| 7                  |
+--------------------+

Datenbankbeispiel

Hier ist ein Beispiel, in dem ich die Ergebnisse einer Datenbankabfrage mit einer Werteliste abgleiche:

SELECT 
    GenreId, 
    ELT(GenreId, 'Rock', 'Jazz', 'Country') AS Genre 
FROM Genres;

Ergebnis:

+---------+---------+
| GenreId | Genre   |
+---------+---------+
|       1 | Rock    |
|       2 | Jazz    |
|       3 | Country |
|       4 | NULL    |
|       5 | NULL    |
|       6 | NULL    |
|       7 | NULL    |
|       8 | NULL    |
+---------+---------+

In diesem Fall gab es mehr Ergebnisse, als ich als Parameter angegeben habe, daher sind diese Ergebnisse NULL .

Das ELT() Funktion ist eine Ergänzung zu FIELD() Funktion, mit der Sie die Indexposition eines bestimmten Elements in einer Liste finden können.