首页 > 后端开发 > php教程 > sql,去重查询distinct

sql,去重查询distinct

WBOY
发布: 2016-06-23 13:44:48
原创
3454 人浏览过

 

select DISTINCT `object_id`, t3.width as width, t3.height as height,t3.ismark as ismark, t2.rtime as add_time,t1.add_author as add_author,t1.image_url as image_url,t1.id as id,t1.browse_real_cnt as browse_real_cnt from comments as t2 left join ornamentations as t1 on t1.id = t2.object_id left join ornamentation_images as t3 on t3.ornamentation_id = t1.id where ( t2.uid = 1013 ) AND ( t1.enable = '0' ) ORDER BY t2.id desc LIMIT 0,5 
登录后复制

select后面的条件,带t3正常,能去重复的,加了t2,t1就没法去重复的了


回复讨论(解决方案)

DISTINCT 作用于整行
你的3个表中只要存在一对多的情况就难说了

DISTINCT 作用于整行
你的3个表中只要存在一对多的情况就难说了


那该怎么写呢?我刚才也查了,一个表用distinct,多个表的时候就不用它了,我没看懂别人的说法

再套一个 select

select DISTINCT * from   (`object_id`, t3.width as width, t3.height as height,t3.ismark as ismark, t2.rtime as     add_time,t1.add_author as add_author,t1.image_url as image_url,t1.id as id,t1.browse_real_cnt as   browse_real_cnt   from comments as t2   left join ornamentations as t1 on t1.id = t2.object_id   left join ornamentation_images as t3 on t3.ornamentation_id = t1.id   where ( t2.uid = 1013 ) AND ( t1.enable = '0' )   ORDER BY t2.id desc) T LIMIT 0,5
登录后复制
登录后复制

再套一个 select

select DISTINCT * from   (`object_id`, t3.width as width, t3.height as height,t3.ismark as ismark, t2.rtime as     add_time,t1.add_author as add_author,t1.image_url as image_url,t1.id as id,t1.browse_real_cnt as   browse_real_cnt   from comments as t2   left join ornamentations as t1 on t1.id = t2.object_id   left join ornamentation_images as t3 on t3.ornamentation_id = t1.id   where ( t2.uid = 1013 ) AND ( t1.enable = '0' )   ORDER BY t2.id desc) T LIMIT 0,5
登录后复制
登录后复制
 


报错,报
from comments as t2 
from错了

哦,漏了 select
..... from
( select `object_id`, t3.width as....

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板