两个字段联合找唯一值是这个意思吧,可以分组计数(group by),计数为1的(having count=1)那么这个就是唯一的值。
成都创新互联公司从2013年开始,先为港北等服务建站,港北等地企业,进行企业商务咨询服务。为港北企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
开窗也可以做 select 字段1,字段2 from table group by 字段1,字段2 having count(*)=1
在后面加点东西,或者在前面加点东西就行了。
比如,tmp_表名_to_char(sysdate,'yyyymmddHH24')
看你多长时间执行一次,如果1天,那么就yyyymmdd就好,如果一个小时,那么就hh24,如果怕tmp被用了那么就t_m_p_,反正比较特殊就行。
但是注意别太长啊,我记得oracle的表名有长度限制的,是多少忘记了,dba_tables的table_name字段的长度。
select * from test1 where rowid in (select rid from (select rowid rid,row_number()over(partition by dm order by rowid) m
from test1) where m =1)
用这个查询test1中dm唯一的,其中order by 后面是排序的字段,保留第一条,
1: 将其作为主键
2: 建唯一索引
3: 若想达到自增的目的, 使用序列, 在增加触发器中为其赋值
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款