求一个SQL语句,要求过滤掉重复的记录,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:51:59
表tz是主表,用来记录帖子。id字段既是主键也是标识,title是标题;
表cmt是从表,用来记录帖子的评论,字段如下:
id tieziID content uid time(id主键标识、tieziID从属帖子、内容、用户ID、时间)
现在,要在个人中心页面建立一个功能,让用户查看自己评论了哪些帖子
我的SQL语句如下:
string sql="";
sql="select tz.id,tz.title from tz,cmt where cmt.uid='"+当前用户ID+"'" and cmt.tieziID=tz.id;
因为用户可以给同一篇帖子多次回贴,这样查出来的记录就有重复,比如张三给ID编号为100的帖子回复了5次,那么查出来的评论,专是ID为100的帖子,就显示了5行,请问各位大侠,怎么避免重复的记录呢?SQL语句能实现吗?
谢谢!

有多种方法,
方法一,如前面回答的用:
select distinct tz.id,tz.title from ......
或者group by也行,就是原来的写法在最后加上group by tz.id,tz.title
方法二,用存在性:
select tz.id,tz.title from tz
where exists(select * from cmt where cmt.uid=当前用户的ID and
cmt.tieziID=tz.id

我个人更愿意用方法二

sql="select distinct (tz.id),tz.title from tz,cmt where cmt.uid='"+当前用户ID+"'" and cmt.tieziID=tz.id;

这行就行了 实际上就是 把贴子的ID 前加个 distintc
作用: 剔除重复语句

加distinct关键字啊
忘了啊?

得用 GROUP BY 过滤

不重复啊,不同的回复嘛

过滤了怎么行

select distinct tz.id,tz.title from tz,cmt where cmt.uid='"+当前用户ID+"'" and cmt.tieziID=tz.id;