SQL查询,如何去除重复的记录?

现在有一个文章评论系统,每篇文章每个用户只有一条评论有效,多回复不进行统计,比如:
评论ID 文章AID 用户UID
1 20 1
2 20 2
3 30 1
4 30 3
5 30 1
6 40 5

如果想得到某个文章aid对应有多少条有效评论,sql查询怎么写?请注意,每个AID每个用户重复评论只计算一条有效,比如上面的数据应该是5条有效评论,aid为30的文章有一个用户发了2条评论,去掉一个重复。

第1个回答  2009-12-28
首先,先说明一个问题。这样的结果出现,说明系统设计是有问题的。

其次
删除重复数据,你要提供你是什么数据库。
不同数据库会有不同的解决方案。
第2个回答  2009-12-28
select distinct 。。。。。。
select后加个distinct去掉重复
第3个回答  2009-12-28
select
aid,
count(distinct uid)
from 表名
group by aid
第4个回答  2009-12-28
select aid, count(*) from (select distinct aid, uid from 表名) group by aid
第5个回答  2009-12-28
select * from table a where id in(
select max(id) from table b
where a.uid=b.uid and a.aid=b.aid
group by uid
)

有哪些方法可以从sql查询结果中去除重复的数据?
去除SQL查询结果中重复数据的方法多种多样,以下将逐一介绍。首先,使用DISTINCT关键字是去除重复行的简便方法。此关键字在返回结果集时会自动过滤掉重复的记录,实现快速去重。其次,GROUP BY语句结合聚合函数(如COUNT, MAX, MIN, SUM, AVG等)通常用于统计操作,但同样能用于去除重复数据。通过分组,可以...

在SQL的SELECT查询的结果中,消除重复记录的方法是( )。
【答案】:C SQL的核心是查询。SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WHERE查询块组成。其中SELECT说明要查询的字段,如果查询的字段需去掉重复值,则要用到DISTINCT短语;FROM说明要查询的字段来自哪个表或哪些表,可以对单个表或多个表进行查询,WHERE说明查询条件,即选择元组的条件。

mysql查询去掉重复数据
在MySQL中,处理数据时,我们常常需要去除重复的记录,这时候可以借助distinct关键字和group by语句来实现。distinct关键字用于对指定字段进行去重,只需在查询语句中添加该字段名前的distinct即可,例如:SELECT distinct column_name FROM table_name。而group by则更为灵活,它允许我们按照一个或多个字段对...

sql查询去掉重复记录
1、打开要去掉重复数据的数据库,这里新建一张含有重复数据的user表做示例,如下图所示:2、输入“select * from user where name in (select name from user group by name having count(name) > 1) ”sql语句,点击运行可以看到查询出了数据库中user表的重复数据。3、通过“delete from user whe...

mysql查询去掉重复数据
使用DISTINCT关键字可以去除MySQL查询中的重复数据。解释:在MySQL中,当我们执行查询操作时,可能会得到一些重复的数据。为了去除这些重复的数据,我们可以使用SQL中的DISTINCT关键字。使用DISTINCT关键字的具体方法:1. 基本语法:在查询语句的SELECT部分,使用DISTINCT关键字来指定要去重的列。例如:sql SELECT...

SQL查询,如何去除重复的记录?
去除重复,如下列SQL,去除Test相同的记录;1.select distinct Test from Table 2.如果是要删除表中存在的重复记录,那就逻辑处理,如下:3.select Test from Table group by Test having count(test)>1 4.先查询存在重复的数据,后面根据条件删除 还有一个更简单的方法可以尝试一下:select aid,coun...

SQL查询,如何去除重复的记录?
sql查询去除重复值语句\\x0d\\x0asql 单表\/多表查询去除重复记录\\x0d\\x0a单表distinct\\x0d\\x0a\\x0d\\x0a多表group by\\x0d\\x0a\\x0d\\x0agroup by 必须放在 order by 和 limit之前,不然会报错\\x0d\\x0a\\x0d\\x0a***\\x0d\\x0a\\x0d\\x0a1、查找表中多余的重复记录,重复记...

sql中怎么删除两条重复记录并保留一条
将数据去重复后暂存到临时表#a中 select distinct * into #a from table1 where 条件 delete table1 where 删除限制条件 insert into table1 select * from #a -将暂存的数据插回数据库 drop table #a -删除临时表 注:当前的数据库,每一个表都应该有一个标志字段,以保证记录不完全重复,...

sql去重语句
因此,需要使用SQL去重语句来去除重复的数据,确保查询结果的准确性。SQL去重语句通常使用DISTINCT关键字来实现。例如,我们可以使用如下语句查询某个表格中不同的城市名称:plaintextCopy codeSELECT DISTINCT city_name FROM table_name。这样,查询结果中就只会返回不重复的城市名称,而重复的城市名称则会被...

sql中如何删除一个表中重复的记录?
sql中删除一个表中的重复记录可以采用如下步骤:1、把a_dist表的记录用distinct去重,结果放到临时表中。select distinct * into #temp from a_dist;2、把a_dist表的记录全部删除。delete from a_dist;3、把临时表中的数据信息导进到a_dist表中,并删除临时表。insert into a_dist select *...

相似回答