【问题标题】:Mysql Get the latest amount of item [duplicate]Mysql获取最新数量的项目[重复]
【发布时间】:2014-11-01 08:10:00
【问题描述】:

我这里有一个价目表。我需要得到的是最新数量的物品。

这是我当前的查询。 SELECT item, price, max(date) FROM price;

这是我的查询得到的结果。

结果:

item    | max(price)  | max(date)
----------------------------------
ballpen |   300       | 2014-12-11

表结构

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  ID  +    Item   +   Code    +  Price    +   Date     +  
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  1   +  Ballpen  +  itm001   +  300      + 2014-07-29 +
+-------------------------------------------------------+
+  2   +  Ballpen  +  itm001   +  701      + 2013-08-29 +   
+-------------------------------------------------------+
+  3   +  Ballpen  +  itm001   +  700      + 2014-12-11 +
+-------------------------------------------------------+
+  4   +  Pencil   +  itm002   +  250      + 2014-12-11 +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

预期输出

item    | max(price)  | max(date)
----------------------------------
ballpen |   700       | 2014-12-11
Pencil  |   250       | 2014-12-11

任何帮助将不胜感激。

【问题讨论】:

  • @EndeNeu 好的,但结果相同。
  • 是的,抱歉,您在不清楚之前进行了编辑。
  • 如果我理解正确,您想要最近日期的最高价格吗?
  • @hjpotter92 不,我想要一件商品的当前价格。
  • @hjpotter92 波特先生,有什么帮助吗?

标签: mysql sql database greatest-n-per-group


【解决方案1】:
SELECT 
  item,
  price, 
  `date`
FROM price
ORDER BY `date` DESC 
LIMIT 1

SQLFiddle here,还要注意date 是保留关键字。

【讨论】:

  • 很抱歉,但要说清楚。我需要商品“圆珠笔”的当前/最新价格。
  • 我更新了。我需要得到的就是我预期的输出。
  • 两件事,首先您的查询返回的日期不在您在问题中显示的结构中(2014-09-08 不在数据集中),其次,您的日期字段是日期列还是 varchar?
  • @edneNeu 抱歉,我将字段日期更改为 current_date。并且 (2014-08-09) 是当前日期。所以这意味着 current_date 也是一个保留关键字?所以我又把它改成了“日期”,它得到了正确的日期。但价格不是。
  • 我进行了编辑并添加了一个 SQL 小提琴。
猜你喜欢
  • 2022-06-15
  • 1970-01-01
  • 2012-02-12
  • 2021-01-02
  • 2013-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多