sql >> Databáze >  >> RDS >> Sqlserver

Vyberte informace z tabulky, kde má řádek maximální datum

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

To funguje, abyste získali maximální datum.. připojte jej zpět ke svým datům, abyste získali další sloupce:

Select group,max_date,checks
from table t
inner join 
(SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group)a
on a.group = t.group and a.max_date = date

Vnitřní spojení funguje jako filtr pro získání pouze maximálního záznamu.

FYI, názvy vašich sloupců jsou hrozné, nepoužívejte vyhrazená slova pro sloupce (skupina, datum, tabulka).



  1. MySQL GROUP_CONCAT:Formátování výstupu

  2. MySQL:Kombinace více podmínek kde

  3. Jaký je připojovací řetězec pro localdb pro verzi 11

  4. Extrahování dat z MS SQL Server-2008 s odkazem na více tabulek