|
90 | 90 | <meta property="og:url" content="https://www.hyhcoder.com/2014/03/19/Oracle中删除重复记录整理/index.html">
|
91 | 91 | <meta property="og:site_name" content="hyhcoder的博客">
|
92 | 92 | <meta property="og:description" content="Oracle中删除重复记录整理Oracle中经常会删除一些重复记录,整理一下以备用 举例(建立数据如下): 12345678910create table t_table (id NUMBER, name VARCHAR2(20) );insert into t_table values (1234, 'abc'); insert into t_table values (1234, 'a">
|
93 |
| -<meta property="og:updated_time" content="2017-06-18T08:56:40.911Z"> |
| 93 | +<meta property="og:locale" content="zh-Hans"> |
| 94 | +<meta property="og:updated_time" content="2017-06-18T08:56:40.912Z"> |
94 | 95 | <meta name="twitter:card" content="summary">
|
95 | 96 | <meta name="twitter:title" content="Oracle中删除重复记录整理">
|
96 | 97 | <meta name="twitter:description" content="Oracle中删除重复记录整理Oracle中经常会删除一些重复记录,整理一下以备用 举例(建立数据如下): 12345678910create table t_table (id NUMBER, name VARCHAR2(20) );insert into t_table values (1234, 'abc'); insert into t_table values (1234, 'a">
|
@@ -329,7 +330,7 @@ <h1 class="post-title" itemprop="name headline">Oracle中删除重复记录整
|
329 | 330 |
|
330 | 331 | <span class="post-meta-item-text">发表于</span>
|
331 | 332 |
|
332 |
| - <time title="创建于" itemprop="dateCreated datePublished" datetime="2014-03-19T16:28:36+08:00"> |
| 333 | + <time title="创建于" itemprop="dateCreated datePublished" datetime="2014-03-19T16:28:36+09:00"> |
333 | 334 | 2014-03-19
|
334 | 335 | </time>
|
335 | 336 |
|
@@ -379,18 +380,18 @@ <h1 class="post-title" itemprop="name headline">Oracle中删除重复记录整
|
379 | 380 |
|
380 | 381 | <h1 id="Oracle中删除重复记录整理"><a href="#Oracle中删除重复记录整理" class="headerlink" title="Oracle中删除重复记录整理"></a>Oracle中删除重复记录整理</h1><p>Oracle中经常会删除一些重复记录,整理一下以备用</p>
|
381 | 382 | <p>举例(建立数据如下):</p>
|
382 |
| -<figure class="highlight sql"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">create</span> <span class="keyword">table</span> t_table </div><div class="line">(<span class="keyword">id</span> <span class="built_in">NUMBER</span>, </div><div class="line"><span class="keyword">name</span> VARCHAR2(<span class="number">20</span>) </div><div class="line">);</div><div class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">1234</span>, <span class="string">'abc'</span>); </div><div class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">1234</span>, <span class="string">'abc'</span>); </div><div class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">1234</span>, <span class="string">'abc'</span>); </div><div class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">3456</span>, <span class="string">'bcd'</span>); </div><div class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">3456</span>, <span class="string">'bcd'</span>); </div><div class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">7890</span>, <span class="string">'cde'</span>);</div></pre></td></tr></table></figure> |
| 383 | +<figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">create</span> <span class="keyword">table</span> t_table </span><br><span class="line">(<span class="keyword">id</span> <span class="built_in">NUMBER</span>, </span><br><span class="line"><span class="keyword">name</span> VARCHAR2(<span class="number">20</span>) </span><br><span class="line">);</span><br><span class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">1234</span>, <span class="string">'abc'</span>); </span><br><span class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">1234</span>, <span class="string">'abc'</span>); </span><br><span class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">1234</span>, <span class="string">'abc'</span>); </span><br><span class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">3456</span>, <span class="string">'bcd'</span>); </span><br><span class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">3456</span>, <span class="string">'bcd'</span>); </span><br><span class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">values</span> (<span class="number">7890</span>, <span class="string">'cde'</span>);</span><br></pre></td></tr></table></figure> |
383 | 384 | <p>1 .<strong>第一种方法:</strong>适用于有少量重复记录的情况(临时表法)</p>
|
384 | 385 | <ul>
|
385 | 386 | <li>(建一个临时表用来存放重复的记录)</li>
|
386 | 387 | <li>(清空表的数据,但保留表的结构)</li>
|
387 | 388 | <li>(再将临时表里的内容反插回来)</li>
|
388 | 389 | </ul>
|
389 |
| -<figure class="highlight sql"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">create</span> <span class="keyword">table</span> tmp_table <span class="keyword">as</span> <span class="keyword">select</span> <span class="keyword">distinct</span> * <span class="keyword">from</span> t_table; </div><div class="line"><span class="keyword">truncate</span> <span class="keyword">table</span> t_table; </div><div class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">select</span> * <span class="keyword">from</span> tmp_table;</div></pre></td></tr></table></figure> |
| 390 | +<figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">create</span> <span class="keyword">table</span> tmp_table <span class="keyword">as</span> <span class="keyword">select</span> <span class="keyword">distinct</span> * <span class="keyword">from</span> t_table; </span><br><span class="line"><span class="keyword">truncate</span> <span class="keyword">table</span> t_table; </span><br><span class="line"><span class="keyword">insert</span> <span class="keyword">into</span> t_table <span class="keyword">select</span> * <span class="keyword">from</span> tmp_table;</span><br></pre></td></tr></table></figure> |
390 | 391 | <p>2 .<strong>第二种方法:</strong>适用于有大量重复记录的情况</p>
|
391 |
| -<figure class="highlight sql"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">delete</span> t_table <span class="keyword">where</span> </div><div class="line">(<span class="keyword">id</span>,<span class="keyword">name</span>) <span class="keyword">in</span> (<span class="keyword">select</span> <span class="keyword">id</span>,<span class="keyword">name</span> </div><div class="line"><span class="keyword">from</span> t_table <span class="keyword">group</span> <span class="keyword">by</span> <span class="keyword">id</span>,<span class="keyword">name</span> <span class="keyword">having</span> <span class="keyword">count</span>(*)><span class="number">1</span>) </div><div class="line"><span class="keyword">and</span> </div><div class="line"><span class="keyword">rowid</span> <span class="keyword">not</span> <span class="keyword">in</span> (<span class="keyword">select</span> <span class="keyword">min</span>(<span class="keyword">rowid</span>) </div><div class="line"><span class="keyword">from</span> t_table <span class="keyword">group</span> <span class="keyword">by</span> <span class="keyword">id</span>,<span class="keyword">name</span> <span class="keyword">having</span> <span class="keyword">count</span>(*)><span class="number">1</span>);</div></pre></td></tr></table></figure> |
| 392 | +<figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">delete</span> t_table <span class="keyword">where</span> </span><br><span class="line">(<span class="keyword">id</span>,<span class="keyword">name</span>) <span class="keyword">in</span> (<span class="keyword">select</span> <span class="keyword">id</span>,<span class="keyword">name</span> </span><br><span class="line"><span class="keyword">from</span> t_table <span class="keyword">group</span> <span class="keyword">by</span> <span class="keyword">id</span>,<span class="keyword">name</span> <span class="keyword">having</span> <span class="keyword">count</span>(*)><span class="number">1</span>) </span><br><span class="line"><span class="keyword">and</span> </span><br><span class="line"><span class="keyword">rowid</span> <span class="keyword">not</span> <span class="keyword">in</span> (<span class="keyword">select</span> <span class="keyword">min</span>(<span class="keyword">rowid</span>) </span><br><span class="line"><span class="keyword">from</span> t_table <span class="keyword">group</span> <span class="keyword">by</span> <span class="keyword">id</span>,<span class="keyword">name</span> <span class="keyword">having</span> <span class="keyword">count</span>(*)><span class="number">1</span>);</span><br></pre></td></tr></table></figure> |
392 | 393 | <p>3 .<strong>第三种方法:</strong>适用于有少量重复记录的情况</p>
|
393 |
| -<figure class="highlight sql"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">delete</span> <span class="keyword">from</span> t_table a <span class="keyword">where</span> a.rowid!=(<span class="keyword">select</span> <span class="keyword">max</span>(b.rowid) </div><div class="line"><span class="keyword">from</span> t_table b <span class="keyword">where</span> a.id=b.id <span class="keyword">and</span> a.name=b.name);</div></pre></td></tr></table></figure> |
| 394 | +<figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">delete</span> <span class="keyword">from</span> t_table a <span class="keyword">where</span> a.rowid!=(<span class="keyword">select</span> <span class="keyword">max</span>(b.rowid) </span><br><span class="line"><span class="keyword">from</span> t_table b <span class="keyword">where</span> a.id=b.id <span class="keyword">and</span> a.name=b.name);</span><br></pre></td></tr></table></figure> |
394 | 395 |
|
395 | 396 |
|
396 | 397 | </div>
|
@@ -695,8 +696,6 @@ <h1 id="Oracle中删除重复记录整理"><a href="#Oracle中删除重复记录
|
695 | 696 |
|
696 | 697 |
|
697 | 698 |
|
698 |
| - |
699 |
| - |
700 | 699 |
|
701 | 700 |
|
702 | 701 |
|
@@ -737,11 +736,6 @@ <h1 id="Oracle中删除重复记录整理"><a href="#Oracle中删除重复记录
|
737 | 736 | <script type="text/javascript" src="//cdn.jsdelivr.net/fancybox/2.1.5/jquery.fancybox.pack.js"></script>
|
738 | 737 |
|
739 | 738 |
|
740 |
| - |
741 |
| - |
742 |
| - <script type="text/javascript" src="/lib/canvas-nest/canvas-nest.min.js"></script> |
743 |
| - |
744 |
| - |
745 | 739 |
|
746 | 740 |
|
747 | 741 |
|
@@ -854,7 +848,7 @@ <h1 id="Oracle中删除重复记录整理"><a href="#Oracle中删除重复记录
|
854 | 848 | var isfetched = false;
|
855 | 849 | var isXml = true;
|
856 | 850 | // Search DB path;
|
857 |
| - var search_path = "search.json"; |
| 851 | + var search_path = ""; |
858 | 852 | if (search_path.length === 0) {
|
859 | 853 | search_path = "search.xml";
|
860 | 854 | } else if (/json$/i.test(search_path)) {
|
|
0 commit comments