在一个医药行业的系统中需要根据患者的接触记录ID获取不同接触类型的集合,效果像这样 --患者接触记录信息,一个患者可以有N个不同的接触记录,每个接触记录又有N个接触类型记录 IF OBJECT_ID ('dbo.TEST') IS NOT NULL DROP TABLE dbo.TEST GO CREATE TABLE dbo.TEST ( ID ,) NOT NULL, cid INT,--接触记录号 REMARK ), CONTACTTYPE ), DESCRIBE ), ADDDA
delete from 表名 where id not in (select d.id from (SELECT id FROM 表名 GROUP BY c1,c2,c3,c4)as d) #去重复,把url重复,且区为空的中去掉.select * from TABLE where url in (select u.url from (select * from TABLE where id not in (select d.id from (SELECT id FROM TABLE GROUP
在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 示例1 select distinct name from A 执行后结果如下: 示例2 select distinct name, id from A 执行后结果如下: 实际上是根据“name+id”来去重 示例3:统计 select count(distinct name) from A; --表中name去重后的数目, SQL Serve
最近杂事太多,正事进展缓慢.Fighting! linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能.本文这里举例说明如何利用Linux命令行进行文本按行去重并按重复次数排序.主要用到的命令有sort,uniq和cut.其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列(简单地说,就是按列操作文本行). 用于演示的测试文件内容如下: Hello World. Apple and Nokia. Hello
-- 构造测试环境SQL> create table andy(id int,name varchar2(10));Table created.SQL>insert into andy values(1,'a');insert into andy values(2,'b');insert into andy values(3,'c');insert into andy values(4,'d');SQL> select * from andy; ID NAME---------- ---