sql >> Databasteknik >  >> RDS >> Mysql

SQL Visa senaste posten i GROUP BY?

Börja med detta:

select StudentId, max(DateApproved) 
from tbl
group by StudentId

Integrera sedan det till huvudfrågan:

select * 
from tbl
where (StudentId, DateApproved) in

(
  select StudentId, max(DateApproved) 
  from tbl
  group by StudentId
)

Du kan också använda detta:

select * 
from tbl
join (select StudentId, max(DateApproved) as DateApproved 
      from tbl 
      group by StudentId)
using (StudentId, DateApproved)

Men jag föredrar tuppeltestning, det är så snyggare

Livetest:http://www.sqlfiddle.com/#!2/771b8/ 5



  1. Fix Msg 8116 "Argumentdatatypen varchar är ogiltig för argument 1 för session_context-funktionen" i SQL Server

  2. Bevara och visa text exakt hur den är skriven och skickad

  3. Hur man får månaden från ett datum i T-SQL

  4. Doktrin - underfråga i från