我有一个表,其中储存的代码,价格,以及一个日期。
代码类型varchar 价格是型浮动(是的,我知道这是更好地储存作为双), 日期是型的日期
create table prices (
code varchar(15),
price float(5),
date date
)
所以,
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')
我尝试使这一选择,但是它不工作非常好,这带来了正确的日期,但是它带给我任何代价、不正确的!!!!
SELECT
code, price, date
FROM
prices
WHERE
date = (SELECT MAX(date) FROM prices)
其结果是:
code price date
ADV000001 0.3 2021-11-23
理想的情况下,它应该显示每个代码与其相应的价格和最近的日期。
code price date
ADV000001 20 2021-11-23
ADV000123 31.4 2017-04-21
ADV000991 242.66 2021-04-09
... ... ...
任何想法? 也许一次咨询? 一个组通过刑期不工作!
MYSQL MAX()function似乎没有工作,它不小组由代码并不仅带来了我一记录。 这里就是链接,可以很快问问你的查询,我将不胜感激。 dbfiddle.英国