"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 > SQL consulta Linha de data máxima para valor de verificação diferente de zero

SQL consulta Linha de data máxima para valor de verificação diferente de zero

Postado em 2025-04-14
Navegar:746

How to Select Maximum Date Rows with Non-Zero Check Amounts in SQL?

extraindo as últimas entradas com valores de verificação diferentes de zero de uma tabela SQL

Este guia demonstra como recuperar com eficiência os registros mais recentes para cada grupo, filtrando para valores de verificação diferentes de zero. Vamos assumir uma tabela estruturada como esta:

group    date      cash  checks
  1    1/1/2013     0      0
  2    1/1/2013     0      800
  1    1/3/2013     0      700
  3    1/1/2013     0      600
  1    1/2/2013     0      400
  3    1/5/2013     0      200

A seguinte abordagem SQL alcança isso:

Primeiro, encontramos a data máxima para cada grupo em que o valor verifica é maior que zero:

SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group;

isso rende:

group    max_date
  2    1/1/2013
  1    1/3/2013
  3    1/5/2013

Em seguida, juntamos este resultado à tabela original para recuperar os valores correspondentes valores:

SELECT t.group, t.date AS max_date, t.checks
FROM table t
INNER JOIN (
  SELECT group, MAX(date) AS max_date
  FROM table
  WHERE checks > 0
  GROUP BY group
) AS a ON a.group = t.group AND a.max_date = t.date;

Esta consulta final produz a saída desejada:

group    max_date    checks
  2    1/1/2013    800
  1    1/3/2013    700
  3    1/5/2013    200

Nota importante: usando palavras reservadas (como date ) como nomes de colunas são fortemente desencorajados. Isso pode levar a erros de sintaxe do SQL e dificultar o seu código. Considere nomes mais descritivos e inequívocos para suas colunas.

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