Mám tabulku, v níž jsem obchod, kód, cena a datum.
Kód je typu varchar, cena je typ float (ano, vím, že to je lepší ukládat je jako Double), datum je typu datum
create table prices (
code varchar(15),
price float(5),
date date
)
takže,
insert into prices (code,price,date) values
('ADV000001','2.1','2021-02-03'),
('ADV000001','0.3','2021-11-22'),
('ADV000001','20.0','2021-11-23'),
('ADV000001','31.4','2017-01-11'),
('ADV000001','99.99','2012-12-09'),
('ADV000123','31.4','2017-04-21'),
('ADV000123','0.4','2016-12-02'),
('ADV000123','31','2012-11-06'),
('ADV000991','3','2000-01-15'),
('ADV000991','1.4','2004-01-13'),
('ADV000991','0.9','2011-01-30'),
('ADV000991','12','2017-01-23'),
('ADV000991','854.82','2004-04-30'),
('ADV000991','231.11','2009-04-15'),
('ADV000991','242.66','2021-04-09'),
('ADV000912','111.1','2021-01-11'),
('ADV000912','1.4','2020-01-11'),
('ADV031242','75.48','2019-03-11'),
('ADV031242','231.42','2019-07-11'),
('ADV011912','1324.11','1994-11-11'),
('ADV000112','685.04','1993-06-11'),
('ADV000777','757.54','2001-06-11'),
('ADV000777','221.74','2002-09-11'),
('ADV000777','1352.12','2012-04-11'),
('ADV000215','856.81','2011-12-11'),
('ADV000202','511.99','2011-11-11')
Snažím se, aby to vybrat, ale to moc dobře nefunguje, přináší to správné datum, ale to mě přivádí každou cenu, není správné!!!!
SELECT
code, price, date
FROM
prices
WHERE
date = (SELECT MAX(date) FROM prices)
výsledek:
code price date
ADV000001 0.3 2021-11-23
V ideálním případě, to by mělo ukázat, každý kód s jeho příslušné ceny a nejnovější datum.
code price date
ADV000001 20 2021-11-23
ADV000123 31.4 2017-04-21
ADV000991 242.66 2021-04-09
... ... ...
Nějaké nápady? možná dílčí poradit? skupina podle věty není práce!
MYSQL MAX() funkce nefunguje, nezáleží na skupiny podle kódů a jen mě přivádí jeden záznam. Zde je odkaz, kde se můžete rychle zeptat na vaše dotazy, ocenil bych to. dbfiddle.uk