Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como encontrar um item de lista em uma posição especificada no MySQL


No MySQL, você pode usar o ELT() função para retornar um item de lista em uma determinada posição na lista.

A sintaxe fica assim:
ELT(N,str1,str2,str3,...)

Onde N é a posição do item que você deseja retornar e str1,str2,str3,... é a lista.

Exemplo


Aqui está um exemplo:
SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';

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

Neste caso especificamos que queremos devolver o 3º item da lista (porque o primeiro argumento é 3 ). E, neste caso, a lista é 'Marge', 'Homer', 'Bart' , então o terceiro item é Bart .

Números


Aqui está um exemplo contendo números:
SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';

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

Exemplo de banco de dados


Aqui está um exemplo em que combino os resultados de uma consulta de banco de dados com uma lista de valores:
SELECT 
    GenreId, 
    ELT(GenreId, 'Rock', 'Jazz', 'Country') AS Genre 
FROM Genres;

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

Nesse caso, houve mais resultados do que incluí como parâmetros, portanto, esses resultados são NULL .

O ELT() função é um complemento para o FIELD() função, que permite encontrar a posição do índice de um determinado item em uma lista.