sql >> Database >  >> RDS >> Mysql

Een lijstitem vinden op een opgegeven positie in MySQL

In MySQL kunt u de ELT() . gebruiken functie om een ​​lijstitem op een bepaalde positie in de lijst te retourneren.

De syntaxis gaat als volgt:

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

Waar N is de positie van het item dat u wilt retourneren, en str1,str2,str3,... is de lijst.

Voorbeeld

Hier is een voorbeeld:

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

Resultaat:

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

In dit geval specificeren we dat we het 3e item in de lijst willen retourneren (omdat het eerste argument 3 is ). En in dit geval is de lijst 'Marge', 'Homer', 'Bart' , dus het derde item is Bart .

Cijfers

Hier is een voorbeeld met getallen:

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

Resultaat:

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

Databasevoorbeeld

Hier is een voorbeeld waarbij ik de resultaten van een databasequery koppel aan een zoeklijst:

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

Resultaat:

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

In dit geval waren er meer resultaten dan ik als parameters heb opgenomen, daarom zijn die resultaten NULL .

De ELT() functie is een aanvulling op de FIELD() functie, waarmee u de indexpositie van een bepaald item in een lijst kunt vinden.


  1. Interviewtips voor SQL-databasebeheerders

  2. LOCALTIMESTAMP-voorbeelden - MySQL

  3. Hoe de sqlalchemy-verbinding in MySQL te sluiten

  4. Het object 'DF__*' is afhankelijk van kolom '*' - Veranderen in int in double