【发布时间】:2017-08-30 08:31:47
【问题描述】:
我有一个 mysql 数据库,其中包含一个包含以下列的表:PartCode、Price 和 Quantity。目标是编写一个查询,该查询将搜索具有重复“PartCode”的行,然后按价格和数量进行比较,并删除具有较高“价格”值的行,但如果“数量”之一为 0,则删除数量为 0 的那个。
A sample table would look like this:
PartCode - Price - Quantity
ABCD - 5 - 2
CDEF - 6 - 1
CDEF - 4 - 1
VZXY - 8 - 4
VZXY - 7 - 0
.... - ... - ...
And for the results, I'd like to get this:
PartCode - Price - Quantity
ABCD - 5 - 2
CDEF - 4 - 1
VZXY - 8 - 4
.... - ... - ...
我找到了接收所有重复 PartCode 的解决方案:
SELECT `PartCode` FROM `Table` GROUP BY `PartCode` HAVING COUNT(*) > 1
我无法弄清楚的是如何通过其他列比较来实现它以删除其中一个重复项。
提前致谢。
【问题讨论】:
标签: mysql duplicates criteria