Py学习  »  DATABASE

Mysql-删除一列中“不是最大值”的所有值,并在另一列中添加group by

personalt • 2 年前 • 484 次点击  

我有一个表,是一个随时间推移的更新列表 timeOfOfferChange .我可以通过下面的查询获取最新的值,但是有没有办法删除所有不是最大值的记录?

select asin, uniqueid,  max(timeOfOfferChange) from tbl_sqs group by asin
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131705
 
484 次点击  
文章 [ 1 ]  |  最新文章 2 年前
Tim Biegeleisen
Reply   •   1 楼
Tim Biegeleisen    2 年前

您可以使用以下逻辑:

DELETE
FROM tbl_sqs t1
WHERE uniqueid NOT IN (SELECT uniqueid
                       FROM (
                           SELECT t2.uniqueid
                           FROM tbl_sqs t2
                           WHERE t2.asin = t1.asin AND
                                 t2.timeOfOfferChange > t1.timeOfOfferChange
                       ) t);