摆脱重复的行
Posted
技术标签:
【中文标题】摆脱重复的行【英文标题】:Get rid of duplicate rows 【发布时间】:2014-09-05 03:15:43 【问题描述】:我正在使用 mysql ,我在视图中有一些重复的行。该视图具有简单的图像表数据和产品数据。 现在我想要的是在同一 id 中获得唯一的一列。 (我试图制作唯一键,但它的视图所以它无法工作。)
这是我的问题。
SELECT id, status_pub, name, code,
catch_copy, icon_new, icon_recommended,
u_date, order_num, st_time, ed_time,
isNULL(order_num) AS order_num_null, filename
FROM TEST
WHERE id IN (SELECT DISTINCT data_id
FROM R_CATEGORY
WHERE category_id REGEXP '^001')
AND ((st_time IS NULL AND ed_time IS NULL)
OR (NOW() BETWEEN st_time AND ed_time)
OR (st_time IS NULL AND ed_time > NOW())
OR (ed_time IS NULL AND st_time < NOW()) )
AND status_pub = 1
ORDER BY order_num_null ASC, order_num ASC, u_date
在这里您可以看到重复的 3 个重复的“id 48”。我想找回第一个。 如 . . 46, 47, 48, 49, . .
不是 . . 46, 47, 48, 48, 48, 49,
现在我编辑。 我添加了 DISTINCT 语句, 但结果是
【问题讨论】:
你在外部查询中试过select distinct
吗?
是的,先生,我做到了。但它并没有完全删除重复的行。
***.com/questions/7040631/… 这可能对你有帮助?
【参考方案1】:
您可以删除具有相同 id 值的不同值的文件名列,并将输出存储在临时表中,文件名列具有空值
稍后使用视图中的顶部值更新临时表中的此列,并使用 id 连接
【讨论】:
以上是关于摆脱重复的行的主要内容,如果未能解决你的问题,请参考以下文章