MySQL 分组依据 - 获取与 max() 数量关联的行
MySQL Group By - Get row associated with max() amount
我要获取的是包含最高价格的行内容。我不确定是否需要自行加入,或使用 having 语句。我尝试过的大多数尝试都没有返回任何行。实际上我想说 "WHERE PRICE IS MAX".
我有以下 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 |
+----+-------+-------+------+-------+
我要获取的是包含最高价格的行内容。我不确定是否需要自行加入,或使用 having 语句。我尝试过的大多数尝试都没有返回任何行。实际上我想说 "WHERE PRICE IS MAX".
我有以下 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 |
+----+-------+-------+------+-------+