"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como manter a ordem dos valores na consulta `in` do MySQL?

Como manter a ordem dos valores na consulta `in` do MySQL?

Postado em 2025-05-02
Navegar:217

How Can I Preserve the Order of Values in a MySQL `IN` Query?

preservando a ordem especificada em mysql "em" Queries

Ao consultar dados usando o MySQL, o operador "in" permite selecionar registros com base em um conjunto de valores. However, it's important to note that the default behavior of these queries doesn't maintain the order of the values ​​specified.

Problem:

In a scenario where you have a table with an auto-incremented primary key, you may encounter situations where the results of an "IN" query are ordered based on the primary key instead of the specified order of the values. Isso pode ser problemático se você deseja preservar a sequência dos resultados. A função Field () atribui posições aos valores com base na ordem que aparecem em sua lista de argumentos. Aqui está um exemplo:

selecione * de foo f Onde f.id em (2, 3, 1) Ordem pelo campo (F.id, 2, 3, 1); Nesta consulta, a lista de argumentos de campo () especifica a sequência na qual você deseja que os resultados apareçam. A cláusula de ordem por cláusula classifica os resultados com base nas posições atribuídas por field (). argumento): Posição 2

1 (terceiro argumento): Posição 3

SELECT * FROM foo f
WHERE f.id IN (2, 3, 1)
ORDER BY FIELD(f.id, 2, 3, 1);

A ordem por cláusula classifica os resultados na ordem ascendente do MAISTES atribuídos pelo campo (). Isso pode ser particularmente útil em cenários em que você está lidando com conjuntos de dados ordenados ou quando deseja manter relacionamentos específicos entre registros.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3