sql统计行数,但是需要去重中间的重复数据

目前有这样的一个表,统计用户每天的访问的网址的信息,但是每个用户访问的网站肯定是有重复的数据的,我想在这个统计的数据中,查询出,用户统计的不同网址的总数,并且安装访问网址的高低进行排列,求该sql语句

userId: user id

url: url visited by the user

SELECT userId, COUNT(DISTINCT url)

FROM tab

GROUP BY userId

ORDER BY COUNT(DISTINCT url) DESC

扩展资料:

group by 解决重复数据的个数统计适用于各种关系型数据库,如oracle,SQL Server

查询重复的数据

select * from (select v.xh,count(v.xh) num from sms.vehicle v group by v.xh) where num>1;

select v.xh,count(v.xh) num from sms.vehicle v group by v.xh having count(v.xh)=2;

删除重复的数据

create table mayong as (select distinct* from sms.vehicle);

delete from sms.vehicle ;

insert into sms.vehicle select * from mayong;

在oracle中,有个隐藏了自动rowid,里面给每条记录一个唯一的rowid,如果想保留最新的一条记录,就可以利用这个字段,保留重复数据中rowid最大的一条记录就可以了。

下面是查询重复数据的一个例子:

select a.rowid,a.* from 表名 a 

where a.rowid != (select max(b.rowid) from 表名 b where a.字段1 = b.字段1 and a.字段2 = b.字段2 )

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-20
select count(distinct 网址) from表 group by 用户
第2个回答  推荐于2018-02-27
userId: user id
url: url visited by the user

SELECT userId, COUNT(DISTINCT url)
FROM tab
GROUP BY userId
ORDER BY COUNT(DISTINCT url) DESC本回答被提问者和网友采纳

sql统计行数,但是需要去重中间的重复数据
userId: user id url: url visited by the userSELECT userId, COUNT(DISTINCT url)FROM tab GROUP BY userId ORDER BY COUNT(DISTINCT url) DESC

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

SQL查询,如何去除重复的记录?
首先,先说明一个问题。这样的结果出现,说明系统设计是有问题的。其次删除重复数据,你要提供你是什么数据库。不同数据库会有不同的解决方案。关键字Distinct 去除重复,如下列SQL,去除Test相同的记录;1. select distinct Test from Table2. 如果是要删除表中存在的重复记录,那就逻辑处理,如下:3....

在SQL中怎么删除两个表中相同的数据
1,首先创建一个表,并在表中插入重复的记录,如下图所示。2,插入好以后就看见表中已经有重复的数据了,如下图所示。3,接下来在删除之前我们记得一定先备份,如下图所示。4,然后排除重复的记录可以通过distinct字段设置,如下图所示,然后将去重的数据插入到新表中。5,接着看到数据表下面多出来一...

sql语句去重
答案:使用SQL语句去重可以使用`DISTINCT`关键字。详细解释:1. 使用DISTINCT关键字去重 在SQL查询中,如果你想要从数据表中查询独特的记录,可以使用`DISTINCT`关键字。该关键字能够帮助你消除查询结果中的重复行。当你对数据表中的某一列或多个列使用`DISTINCT`时,SQL会确保返回的结果集中不包含任何...

SQL查询中如何剔除重复
2,存在部分字段相同的纪录(有主键id即唯一键)如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组 example:select * from table where id in (select max(id) from table group by [去除重复的字段名列表,...])3,没有唯一键ID example:select identity(i...

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 ...

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查询,如何去除重复的记录?
首先,先说明一个问题。这样的结果出现,说明系统设计是有问题的。其次 删除重复数据,你要提供你是什么数据库。不同数据库会有不同的解决方案。关键字Distinct 去除重复,如下列SQL,去除Test相同的记录;1.select distinct Test from Table 2.如果是要删除表中存在的重复记录,那就逻辑处理,如下:3....

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

相似回答