Tengo esta tabla price_date en SQLite3.

id    info_id       price       date
"661"   "1"         "15.99"     "2018-10-15"
"1334"  "1"         "18.52"     "2018-10-01"
"439"   "2"         "24.48"     "2018-10-15"
"1113"  "2"         "25.97"     "2018-10-01"
"2"     "6"         "0.64"      "2018-10-15"
"678"   "6"         "0.66"      "2018-10-01"

Me gustaría recuperar los registros con la última fecha para que la salida se vea así;

id    info_id       price       date
"661"   "1"         "15.99"     "2018-10-15"
"439"   "2"         "24.48"     "2018-10-15"
"2"     "6"         "0.64"      "2018-10-15"

¿Alguna sugerencia sobre cómo comenzar a escribir el código SQL para hacerlo?

0
user1315789 16 oct. 2018 a las 09:48

2 respuestas

La mejor respuesta

Usar subconsulta correlacionada

   select * from price_date t 
   where t.date = 
    ( select max(date) from price_date t1 
   where t1.info_id=t.info_id
     )
4
Zaynul Abadin Tuhin 16 oct. 2018 a las 11:32

Usar subconsulta correlacionada

select * from tablename t1 where date in
(select max(date) from tablename t2 where t1.info_id=t2.info_id)
2
Fahmi 16 oct. 2018 a las 06:51