"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 ordenar resultados SQL com base na ordem da cláusula WHERE IN?

Como ordenar resultados SQL com base na ordem da cláusula WHERE IN?

Publicado em 2024-11-08
Navegar:935

How to Order SQL Results Based on WHERE IN Clause Order?

Classificando resultados de acordo com a ordem da cláusula WHERE IN

Ao usar a cláusula WHERE IN no SQL, os resultados normalmente são ordenados pela coluna natural ordenação (geralmente crescente). No entanto, em determinados cenários, você pode preferir que as linhas sejam retornadas na mesma ordem especificada na cláusula IN.

Solução: ordenação por campo

Para classificar linhas de acordo com a ordem especificada na cláusula WHERE IN, você pode usar a função ORDER BY FIELD. Esta função recebe dois argumentos:

  • A coluna pela qual classificar
  • Uma lista de valores que representam a ordem desejada

Neste caso, você pode usar a seguinte consulta para classificar os resultados pela coluna ID, na ordem especificada na cláusula IN:

SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72);

Esta consulta retornará as linhas na seguinte ordem: 118, 17, 113, 23, 72.

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