Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wybierz informacje z tabeli, w której wiersz ma maksymalną datę

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

To działa, aby uzyskać maksymalną datę.. połącz ją z powrotem do swoich danych, aby uzyskać inne kolumny:

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

Sprzężenie wewnętrzne działa jako filtr, aby uzyskać tylko maksymalny rekord.

FYI, twoje nazwy kolumn są okropne, nie używaj zastrzeżonych słów dla kolumn (grupa, data, tabela).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyzwalacz aktualizacji SQL tylko wtedy, gdy kolumna jest modyfikowana

  2. Zwrócić identyfikator przy INSERT?

  3. SQL Server 2008 Wysokie użycie procesora

  4. Instrukcje SQL Server SELECT powodujące blokowanie

  5. serwer sql wyświetla brakujące daty