Kod, fiyat ve tarih depoladığım bir tablom var.
Kod varchar türüdür, fiyat şamandıra tipidir (evet, çift olarak saklamanın daha iyi olduğunu biliyorum), tarih, tür tarihidir
create table prices (
code varchar(15),
price float(5),
date date
)
böyle,
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')
Bunu seçmeye çalışıyorum, ama çok iyi çalışmıyor, doğru tarihi getiriyor, ancak bana herhangi bir fiyat getiriyor, doğru olanı değil!!!!
SELECT
code, price, date
FROM
prices
WHERE
date = (SELECT MAX(date) FROM prices)
sonuç:
code price date
ADV000001 0.3 2021-11-23
İdeal olarak, her kodu kendi fiyatları ve en son tarihi ile göstermelidir.
code price date
ADV000001 20 2021-11-23
ADV000123 31.4 2017-04-21
ADV000991 242.66 2021-04-09
... ... ...
Herhangi bir fikir? belki bir alt konsültasyon? cümleye göre bir grup işe yaramaz!
MYSQL MAX () işlevi çalışmıyor gibi görünüyor, kodlara göre gruplandırılmıyor ve bana sadece bir kayıt getiriyor. Hızlı sorgular sorabilirsiniz nerede işte link, memnun olurum. dbfiddle.uk