【问题标题】:MySQL Group By - Get row associated with max() amountMySQL Group By - 获取与 max() 数量关联的行
【发布时间】:2015-06-09 18:20:43
【问题描述】:

我想要得到的是包含最高价格的行内容。我不确定我是否需要自我加入,或者使用有声明。我尝试过的大多数尝试都没有返回行。实际上,我想说“价格最高”。

我有以下 SQL

SELECT * FROM table

GROUP BY Store, Date, Item

开始于:

+----+-------+-------+------+-------+
| id | Store | Date  | Item | Price |
+----+-------+-------+------+-------+
|  1 | A     | 1-Jan |  123 | 0.5   |
|  2 | A     | 1-Jan |  123 | 0.75  |
|  3 | A     | 2-Jan |  456 | 0.45  |
|  4 | B     | 1-Jan |  123 | 0.85  |
|  5 | B     | 1-Jan |  123 | 0.75  |
|  6 | B     | 2-Jan |  778 | 0.45  |
+----+-------+-------+------+-------+

我想结束

+----+-------+-------+------+-------+
| id | Store | Date  | Item | Price |
+----+-------+-------+------+-------+
|  2 | A     | 1-Jan |  123 | 0.75  |
|  4 | B     | 1-Jan |  123 | 0.85  |
|  6 | B     | 2-Jan |  778 | 0.45  |
+----+-------+-------+------+-------+

【问题讨论】:

    标签: mysql group-by max


    【解决方案1】:

    【讨论】:

    • 我怎样才能使用这三个按标准分组,我看到的例子很简单,只是寻找最大数量。 SELECT 商品、经销商、价格 FROM shop s1 WHERE price=(SELECT MAX(s2.price) FROM shop s2 WHERE s1.article = s2.article);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    相关资源
    最近更新 更多