需求:删除station_id.ab_data_time.item_code_id.data_cycle.ab_value 字段重复的记录 #查询重复的数据 select b.id,b.station_id,b.ab_data_time,b.item_code_id,b.data_cycle,b.ab_lable,b.ab_value from d_abnormal_data_yyyymms b where (b.station_id,b.ab_data_time,b.item_code_id,…
1.需求: 从所有数据中,查出一个时间段中每天的数据量,即:按日做汇总. 2.SQL语句模板: select trunc(date_col) date, sum(num_col) num, count(*) col_num from table_name where to_char(date_col,'yyyymm') = '201305' group by trunc(date_col);3.亲测有效√…
/* 手机号为重复的会员,获取其最大会员id,对应的会员信息 */ SELECT * FROM MEMBER a WHERE a.member_id IN ( SELECT MAX(member_id) FROM MEMBER b WHERE b.mobile IN (SELECT mobile FROM ( SELECT t.mobile,t.mobile_state,t.is_delete FROM MEMBER t WHERE t.is_delete='N'AND t.mobile_sta…
今天同事遇到一个很奇怪的问题,恢复了一个数据库,表明明存在,用PLSQL和sqlplus都试过了,SQL语句select * from 表名,查询数据,却提示表名不存在异常 然而,使用select * from 用户名.表名的方式,却可以查询出数据 网上有说是没有权限,但实际上已经有权限了 时间来不及,先想了个大招,使用create table 表名 as select * from 用户名.表名的方式新建了一个表,居然还创建表成功了,暂时解决燃眉之急,至于实际原因,还未找到~…
一.去除oracle中重复数据,可以使用rowid列,rowid列是一个伪列,该列在数据库中灭一个表中都有,但是我们查询数据库的时候,默认都没有给我们返回这一列,这一列用来区分数据库中的每一行时间,可以这样认为,子啊数据库中所有表的所有数据中,rowid都不会重复,一般主键只能 保证在当前表中不重复. 语句(以user表为例): from users u2 where u1.username=u2.username and u1.password=u2.password and u1.rowid…
系统在开发测试过程中出现bug,比如并发操作没有处理好,数据库中往往会插入重复数据,这些脏数据经常会导致各种问题.bug可以修改,但是数据往往也要处理,处理SQL如下: 1.根据一个字段查找重复数据 比如,User表中的userName需要保持唯一,查询重复数据的语句如下: SELECT userName from `User` GROUP BY userName HAVING count(*) > ; 如果要删除重复数据,则根据userName分组获取最大或最小id,然后删除其他数据即可,如下…
/* ROWID是行ID,通过它一定可以定位到r任意一行的数据记录 ROWID DNAME DEPTNO LOC ------------------ ---------------------------- ---------- ---------- AAASSUAAEAAAAIbAAA ACCOUNTING 10 NEW YORK AAASSUAAEAAAAIbAAB RESEARCH 20 DALLAS AAASSUAAEAAAAIbAAC SALES 30 CHICAGO AAASSUA…