2 qq 16914487 qq_16914487 于 2016.03.17 16:29 提问

数据库多条记录去重问题 1C

我有一张日志表,里面的用户每天登录多次可能出现多条数据,用户每天登录多次算一次,我现在要查询一段时间内,登录过的用户和该用户登录过的次数,怎么写SQl语句

8个回答

qq_16914487
qq_16914487   2016.03.17 16:32

这是表图片说明

fubo1990
fubo1990   2016.03.17 16:34

select count(用户id) from 表名 where 条件 group by 用户id

coolshop12321
coolshop12321   2016.03.17 16:35

select userId,count(1) from userLogin group by userId where loginTime >'2016-03-01' and loginTime <'2016-03-17'

fubo1990
fubo1990 回复qq_16914487: group by 字段 要放到sql最末端。
2 年多之前 回复
qq_16914487
qq_16914487 一个devicecode字段对应多个userid,每一天可能devicecode有多个userid,我要达到的目的是查找出一段时间client_system对应的这个不同devicecode的出现的次数和devicecode值
2 年多之前 回复
qq_34284010
qq_34284010   2016.03.17 16:40

select date_id,count(ip),count(distinct ip) from log group by ip,dateId

hmilyshyt
hmilyshyt   2016.03.17 16:55

select t.name, count(*) from reg_opt t where t.create_time between to_date('2015-01-01','RRRR-MM-DD') and to_date('2016-05-01', 'RRRR-MM-DD') group by t.name

MCtime
MCtime   2016.03.17 17:02

select distinct column_name from table where condition

yanggq1988
yanggq1988   2016.03.17 17:08

select id,count(id) from (select distinct id, convert(date,date_time) as date_time from table)a group by id

qq_19558705
qq_19558705   Ds   Rxr 2016.03.17 17:23

看了一下回答,貌似都只说了怎么删除。其实我觉得应该在源头解决问题:在save数据的时候先查询,如果没有就new 一个,这样可以确保数据的唯一性。

yanggq1988
yanggq1988 日志表最好还是不要数据唯一性吧。。。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
数据库SQL去重,保留一条数据
利用SQL,删除掉重复多余的数据,并且只保留一条数据。 1、查找表中多余的重复记录,重复记录是根据单个字段(teamId)来判断 select * from team where teamId in (select teamId from team group by teamId having count(teamId) > 1) 2、删除表中多余的重复记录,重复记录是
数据库查询结果去重(distinct与group by)
一般情况下,数据库去重复有以下那么三种方法:第一种:  两条记录或者多条记录的每一个字段值完全相同,这种情况去重复最简单,用关键字distinct就可以去掉。例:1SELECT DISTINCT * FROM TABLE第二种:  两条记录之间之后只有部分字段的值是有重复的,但是表存在主键或者唯一性ID。如果是这种情况的话用DISTINCT是过滤不了的,这就要用到主键id的唯一性特点及group ...
记录查询,去重,清空记录
1、distinct (str) 用户去掉重复记录,针对某个字段返回的是不重复记录的条数,而不是不重复​记录的所有值只能返回目标字段,无法返回其他字段​select distinct (name)​ from tablename2、group by 根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总​select * from tablename group by name,age
一次向数据库插入多条记录
在开发中对于数据的操作经常有可能一次向数据库插入多条记录。 对于才入门的程序员来说,第一感觉就是写个循环,先把sql写好每次循环的时候都传入不同的参数即可。 向用户表中一次插入多个用户。 String[] users={"张三","李四","王老五"}; String sql="insert into user (name)values(?)"; P
ORACLE语句多条重复记录中只取一条时间最近的记录
多条重复记录中只取一条时间最近的记录 select aa.forecast_no, t1.wgt jz, t1.sj zl_sj, t2.wgt mz, t3.wgt pz      from Table1 aa      left outer join (select a.*                        from Table2 a
数据库的读取一条和多条记录的查询的两种方法
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; namespace _11_26数据库连接内容1
oracle 某个字段重复的记录,选其中随便一条。
select * from BASE_DCR_DUE where rowid in (select row_id from (select du_mode_code, max(rowid) row_id
sqlite数据库多条记录操作效率问题
sqlite数据库更新500条数据花了43秒,汗一个public void addIndexs(List newIndexs) { if (newIndexs == null || newIndexs.size() == 0) return; SQLiteDatabase database = SQLiteDatabase.openDatabase(dbPath, PWD, null
left join 右表多条数据重复
mysql的left join从两个表中联合查询数据,以左表为主,右表为辅。如果左表中有的内容右表中没有,则用null填充。这是一般的常见的解释。也很容易理解。但是在做右表的多数据查询的时候就得写条件了。 我写一个产品-产品图片的分页过程中需要查出一个图片即可。但是在用mysql的left join中,左表为product,键为pid。右表为image主键为imageid,外键为pid。
MERGE INTO 解决数据入库前的去重
近几天被朋友问到一个问题:在向数据库中插入数据的时候,需要判断数据库中是否已经存在该条记录,不能通过主键来判断,只能通过几个特定属性来标记,即这几个属性和数据库中的某条记录的对应属性一致,那么就认为数据库中已经有了改记录,就不需要插入。他的处理方案是在插入之前,先带着这几个属性到数据库中select一下,如果存在,则不插入;否则,插入。当时没多想,认为这个select的操作不可避免,因为该表的记录