mysql - 从分组行中检索具有最大 id 的行的内容

标签 mysql

我得到了一个包含以下数据的 mysql 表

commodityId  ItemCode       ItemName                SellingPrice
469          8901764362804  MM Pulpy Orange Pet     18
692          8901764362309  MM Pulpy 65             65
719          8901764362804  MM Pulpy Orange Pet     20
1019         8901764362804  MM Pulpy Orange Pet     20
1041         8901764362804  MM Pulpy Orange Pet     20

请注意,最近条目的商品 ID 始终是最大的。现在我想获取某件商品的最近售价。我写了下面的代码

select max(commodityId), itemname, sellingprice from purchases 
group by itemcode order by commodityId desc;

这段代码的输出是

692     MM Pulpy 65            65
1041    MM Pulpy Orange Pet    18

我得到18作为售价,这是最旧条目的售价。我想要最近条目的售价为20。我需要表格中所有商品的最新售价。有人可以建议更改查询吗?

我必须使用该售价作为连接 4 个表的另一个查询的一部分。

最佳答案

试试这个:

SELECT B.MAX_COMM_ID, A.itemname, A.sellingprice 
from purchases A
INNER JOIN (select itemcode, max(commodityid) AS MAX_COMM_ID
            from purchases
            group by itemcode ) B ON A.itemcode=B.itemcode AND A.commodityid=B.MAX_COMM_ID
;

关于mysql - 从分组行中检索具有最大 id 的行的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43537759/

相关文章:

mysql - 非聚集索引与聚集索引

php - View 页面中显示的链接错误

mysql - UNION SELECT 不显示所有列

php - SQLSTATE[HY000] [1040] 连接太多

mysql - 有没有办法从这样的一张表中获取mysql结果?

php - 不匹配 md5 密码

php - Mysql用户统计

mysql - 将一些数据从 MySQL 表的一列移动到另一列

mysql - mysql 中的求和无法正常工作并返回 0

javascript - mySql/Express GET 请求到 React Native 应用程序中的动态 SELECT 查询