gpt4 book ai didi

mysql - MySQL 表上的重复记录数

转载 作者:行者123 更新时间:2023-11-29 02:51:55 24 4
gpt4 key购买 nike

有一个具有相似模式的表

id control code amount 
1 200 12 300
2 400 12 300
3 200 12 300
4 100 10 400
5 100 10 400
6 500 13 500

尝试在 UI 上列出重复的记录。

使用以下查询,我可以检索重复记录并将其显示在 UI 上。

select * from mwt group by control,code,amount having count(id) > 1;  

id control code amount
1 200 12 300
4 100 10 400

这里 id 为 1 和 4 的记录分别是 3 和 5 的副本。

在 UI 上,用户将单击记录旁边的复选框,相应的重复记录应填充到 UI 中。为了使事情更容易尝试填充另一个名为 dup_id 的列。使用此 dup_id 可以过滤来自 JSON 格式的 UI 的结果。

如何创建类似于下图所示的结果集?

id control code amount dup_id
1 200 12 300 1
2 400 12 300
3 200 12 300 1
4 100 10 400 4
5 100 10 400 4
6 500 13 500

最佳答案

这似乎比@kickstarter 建议的解决方案更简单 - 但也许我误解了要求......

SELECT x.*
, y.dup_id
FROM my_table x
LEFT
JOIN
( SELECT MIN(id) dup_id
, control
, code
, amount
FROM my_table
GROUP
BY control
, code
, amount
HAVING COUNT(*) > 1
) y
ON y.control = x.control
AND y.code = x.code
AND y.amount = x.amount;

关于mysql - MySQL 表上的重复记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34743825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com