我正在研究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, 。
NOT 。 。 46, 47, 48, 48, 48, 49,
现在我编辑。 我添加了DISTINCT STATEMENT, 但结果是
答案 0 :(得分:0)
您可以删除具有相同ID值的不同值的filename列,并将输出存储在文件列为null的临时表中
稍后在临时表中更新此列,并使用与
连接的视图中的最高值