"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 selecionar a linha com o valor máximo de cada grupo no MySQL?

Como selecionar a linha com o valor máximo de cada grupo no MySQL?

Postado em 2025-02-26
Navegar:257

How to Select the Row with the Maximum Value from Each Group in MySQL?

agrupando e recuperando linhas com base no valor máximo em mysql

no gerenciamento do banco de dados, recuperar linhas específicas de um grupo pode ser crucial para análise de dados e relatórios. No MySQL, as operações de agrupamento e pedidos desempenham um papel vital nesse sentido. No entanto, surge um desafio comum ao tentar selecionar a linha com o valor mais alto de um grupo, depois de aplicar um grupo por operação. por um ID e uma coluna version_id. O objetivo é recuperar a linha com a versão mais alta_id para cada ID exclusivo. :

agrupamento baseado em max:

selecionar * De (selecione ID, max (versão_id) como max_version_id do grupo de tabela por id) como subconsulta Tabela de junte -se no subquery.id = tabela.id e subquery.max_version_id = tabela.version_id; Isso consulta aproveita uma subconsulta para calcular o máximo de versão_id para cada grupo de identificação. A consulta principal executa uma junção interna para recuperar as linhas correspondentes da tabela original. Da tabela como T1 Onde t1.version_id = (selecione max (versão_id) na tabela onde id = t1.id);

SELECT *
FROM (SELECT id, MAX(version_id) AS max_version_id FROM table GROUP BY id) AS subquery
JOIN table ON subquery.id = table.id AND subquery.max_version_id = table.version_id;

As funções da janela fornecem uma abordagem alternativa calculando a versão máxima_id em cada partição de identificação. A cláusula Over especifica os critérios de particionamento, e a cláusula de ordem por ordem garante que as linhas sejam ordenadas dentro de cada partição. Ao entender as nuances do agrupamento e pedidos de operações, os usuários de banco de dados podem refinar suas consultas para extrair dados significativos de estruturas de dados complexas.

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