MYSQL选择时间戳最高且销售数量最高的所有物料编号

时间:2018-10-11 23:26:43

标签: mysql

SELECT *
FROM table
INNER JOIN 
(SELECT itemno, MAX(last_updated) as TopDate
FROM table
WHERE userID = 'user'
GROUP BY itemno) AS EachItem ON 
    EachItem.TopDate = table.last_updated 
    AND EachItem.itemno = table.itemno

我从上一篇文章中获取了上面的解决方案,并对其进行了修改,使其可以与我创建的功能之一一起使用,但是现在我想使用相同的查询,但要通过max(last_updated)对结果进行调整(是我表中的时间戳),也是max(qty_sold)。

基本上我在表中有多个itemnos重复项,但只想返回指定了特定用户ID的每一行的最新日期和qty_sold最高的行。

在此先感谢您,我花了数小时进行搜索,但由于我是mysql的新手,所以无法弄清这一点。

1 个答案:

答案 0 :(得分:1)

在尝试更多之后,通过在最后添加ORDER BY qty_sold DESC解决了我自己的问题。

SELECT *
FROM table
INNER JOIN 
(SELECT itemno, MAX(last_updated) as TopDate
FROM table
WHERE userID = 'user'
GROUP BY itemno) AS EachItem ON 
   EachItem.TopDate = table.last_updated 
   AND EachItem.itemno = table.itemno
   ORDER BY qty_sold DESC