这是我当前的MySQL表:
Crop ID Price DateUpdated Area
Okra 4 50 2014-02-05 21:42:26 Bulua
Eggplant 5 20 2014-02-05 21:42:26 Lapasan
Okra 6 35 2014-02-05 21:42:26 Agora
Cauliflower 8 300 2014-02-05 21:42:26 Patag
Onion 9 10 2014-02-05 22:02:34 Cogon
Kalabasa 10 50 2014-02-05 22:59:30 Cogon
Garlic 11 130 2014-02-05 22:59:44 Cogon
Onion 14 34.4 2014-02-05 23:12:21 Cogon
Onion 15 54 2014-02-07 02:40:13 Cogon我想查询所有的'Crops',并将它们的'Price'作为最新的区域名称'Cogon'。这是我使用的最后一个查询:
SELECT ID, Crop, Area, MAX( DateUpdated )
AS Latest, DateUpdated, Price
FROM crops
WHERE Area = TRIM( 'Cogon' )
GROUP BY Area, Crop;我想用最新的价格把所有的农作物都放在“Cogon”里。
上面的语法输出了“Cogon”中的所有农作物。但是,它没有输出洋葱的最新价格(ID 14),而是输出旧的数据(ID 9)。
发布于 2014-02-06 19:38:00
如果你说
SELECT Crop,
Area,
DateUpdated,
Price
FROM crops cr
WHERE trim(Area) = 'Cogon'
and
DateUpdated = (select max(DateUpdated)
from crops
where Crop = cr.Crop and trim(Area) = 'Cogon' ) ;发布于 2014-02-06 19:13:43
你想要ORDER BY DateUpdated DESC或ORDER BY ID DESC
https://stackoverflow.com/questions/21611811
复制相似问题