sql查找重复数据
1.查找重复数据表的id以及重复数据的条数
select max(id) as nid,count(id) as 重复条数 from tableName
group by linkname Having Count(*) > 1
2.查找重复数据表的主键
select max(id) as nid from tableName
group by linkname Having Count(id) > 1
3.删除重复的数据
delete from tableName
where id in (
select max(id) as nid from tableName
group by linkname Having Count(id) > 1
)
相关文档:
上节我们介绍了表连接,更确切的说是inner joins內连接.
內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来。
为更好的理解这个概念,我们介绍两个表作演示。苏格兰议会中的政党表(party)和议员表(msp)。
party(Code,Name,Leader)
Code: 政党代码
Name: 政党 ......
Orcale 的SQL 语句取得系统当前时间用:sysdate
当需要在系统当前日期上减去一天时可以用 sysdate-1
附:当只对一定数量的记录感兴趣时可以如 rownum<100
select * from SLYC_CUSTINFO_T where indbtime>sysdate-1 and OFFICE_CODE='46' and rownum<1 ......
SELECT ID,TITLE,
(SELECT TIMES from CLS_COURSE WHERE CLS_COURSE.ID=CLS_CLASS.COURSEID) AS TIMES,
(SELECT CASE WHEN EXISTS(SELECT * from CLS_ATDC WHERE CLS_ATDC.CLSID=CLS_CLASS.ID ) THEN (SELECT TOP 1 COURSETIME from CLS_ATDC WHERE CLS_ATDC.CLSID=CLS_CLASS.ID ORDER BY COURSETIME DESC) ELSE 0 ......
触发器是一种特殊的存储过程,类似于事件函数,SQL Server™ 允许为 Insert、Update、Delete 创建触发器,即当在表中插入、更新、删除记录时,触发一个或一系列 T-SQL语句。
触发器可以在查询分析器里创建,也可以在表名上点右键->“所有任务”->“管理触发器”来创建,不过都是要写 T-SQL ......
经典SQL语句
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
//a必须是已经存在的表,但是b可以不存在,当b不存在时,系统会自己创建表b,该方法只会复制表的结构,而不会复制表的数据
法二:select top 0 * int ......