首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySQL中使用WHERE和MAX获取最新数据

如何在MySQL中使用WHERE和MAX获取最新数据
EN

Stack Overflow用户
提问于 2014-02-06 19:08:52
回答 2查看 63关注 0票数 0

这是我当前的MySQL表:

代码语言:javascript
复制
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'。这是我使用的最后一个查询:

代码语言:javascript
复制
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)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-06 19:38:00

如果你说

代码语言:javascript
复制
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' ) ;
票数 1
EN

Stack Overflow用户

发布于 2014-02-06 19:13:43

你想要ORDER BY DateUpdated DESCORDER BY ID DESC

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21611811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档