php - 摆脱重复的行

标签 php mysql sql

我正在使用 mysql,我在 View 中得到了一些重复的行。该 View 只有图像表数据和产品数据。 现在我想要的是获得同一 id 中唯一的一列。 (我试图制作唯一的 key ,但它的观点是行不通的。)

这是我的查询。

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、

enter image description here

现在我编辑。 我添加了 DISTINCT 语句, 但结果是 After adding distinct statement

最佳答案

您可以删除具有相同 id 值的不同值的文件名列,并将输出存储在文件名列为空的临时表中

稍后使用与 id 连接的 View 中的最高值更新临时表中的此列

关于php - 摆脱重复的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25678136/

相关文章:

php - 亚马逊提交 Feed 错误

php - 如何创建下拉菜单

php - 如何在 dropzone 上传后立即更新文件名?

php - Facebook 登录 : Which parameter should my app identify the user with? id,或电子邮件?

mysql - 为什么我的存储过程在插入时返回 "?"或在 UTF-8 的 select 语句中返回空

mysqldump 提示密码,即使凭据保存在/home/user/.my.cnf

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

sql - 甲骨文10g : parsing 2 columns merging duplicates

mysql - 挣扎于最小(日期)解决方案

mysql - mysql如何知道哪张表是左右