相关疑难解决方法(0)

如何删除完全重复的行

假设我的表中有重复的行,而且我的数据库设计是第3类: -

Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Cinthol','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Cinthol','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Cinthol','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Lux','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Crowning Glory','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (2,'Cinthol','nice soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (3,'Lux','nice soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (3,'Lux','nice soap','soap');
Run Code Online (Sandbox Code Playgroud)

我希望每个表中只有1个实例存在于我的表中.因此,2nd, 3rd and last row应该删除完全相同的whcih.我可以为此写什么查询?可以在不创建临时表的情况下完成吗?只需一个查询?

提前致谢 :)

sql t-sql sql-server duplicate-removal sql-server-2008

7
推荐指数
1
解决办法
1148
查看次数

如何从SQL Server中的表中删除重复的行

我有一个叫table1有重复值的表.它看起来像这样:

new
pen
book
pen
like
book
book
pen
Run Code Online (Sandbox Code Playgroud)

但是我想从该表中删除重复的行并将它们插入到另一个名为的表中table2.

table2 应该是这样的:

new 
pen
book
like
Run Code Online (Sandbox Code Playgroud)

我怎么能在SQL Server中执行此操作?

database sql-server

6
推荐指数
1
解决办法
2万
查看次数

如何从没有id的表中删除重复(重复)记录,行

我研究过它,我找到的最实用的方法是创建一个程序.该过程
添加一个id,删除重复的行,最后将一个id列添加到新形成的表中.我想,必须有一个更简单的方法.这是代码,它有效......

- 我的桌子

create table dublicateTable
(
name varchar(30)
)
Run Code Online (Sandbox Code Playgroud)

- 重复插入行

insert into dublicateTable values('Kerem')
insert into dublicateTable values('Taner')
insert into dublicateTable values('Mehmet')
insert into dublicateTable values('Serhat')
Run Code Online (Sandbox Code Playgroud)

- 第一种情况

select * from dublicateTable


name
-----
Kerem
Kerem
Kerem
Taner
Taner
Mehmet
Mehmet
Mehmet
Mehmet
Serhat
Serhat
Serhat
Run Code Online (Sandbox Code Playgroud)

--dynamicaly形成了sql代码程序

USE [myDataBase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create procedure [dbo].[usp_delete_duplicate]
as
declare 
@add_id_text nvarchar(50),
@delete_id_text nvarchar(50),
@command_text nvarchar(100)
begin
set @add_id_text='alter table dbo.dublicateTable add id int …
Run Code Online (Sandbox Code Playgroud)

sql t-sql database sql-server sql-server-2008

6
推荐指数
1
解决办法
1637
查看次数

删除重复值T-SQL的1个实例

我目前有一张叫做People的桌子.在此表中,有数千行数据遵循以下布局:

gkey |    Name |  Date       | Person_Id
1    |    Fred |  12/05/2012 | ABC123456
2    |    John |  12/05/2012 | DEF123456
3    |    Dave |  12/05/2012 | GHI123456
4    |    Fred |  12/05/2012 | JKL123456
5    |    Leno |  12/05/2012 | ABC123456
Run Code Online (Sandbox Code Playgroud)

如果我执行以下操作:

SELECT [PERSON_ID], COUNT(*) TotalCount
FROM [Database].[dbo].[People]
GROUP BY [PERSON_ID]
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC
Run Code Online (Sandbox Code Playgroud)

我得到了回报:

Person_Id     | TotalCount
ABC123456     | 2
Run Code Online (Sandbox Code Playgroud)

现在我想只删除一行重复值,所以当我执行上面的查询时,我没有返回任何结果.这可能吗?

sql t-sql sql-server-2008-r2

6
推荐指数
1
解决办法
1039
查看次数

使用GROUP BY删除重复项的查询

id_specific_price    id_product  
-------------------------------
            1                2  
            2                2  
            3                2  
            4                3  
            5                3  
            6                3  
            7                3
Run Code Online (Sandbox Code Playgroud)

需要删除重复项,预期结果:

id_specific_price    id_product  
-------------------------------
            3                2  
            7                3
Run Code Online (Sandbox Code Playgroud)
SELECT * 
  FROM ps_specific_price 
 WHERE id_specific_price NOT IN 
 (SELECT MAX(id_specific_price) 
    FROM ps_specific_price 
   GROUP BY id_product) 
Run Code Online (Sandbox Code Playgroud)

工作,但

DELETE FROM ps_specific_price 
 WHERE id_specific_price NOT IN 
(SELECT MAX(id_specific_price) 
   FROM ps_specific_price 
  GROUP BY id_product)
Run Code Online (Sandbox Code Playgroud)

才不是.有很多例子可以解决这个问题,但由于某种原因,我无法适应它.我相信它是GROUP BY.例如:

DELETE FROM ps_specific_price 
 WHERE id_specific_price NOT IN
 (SELECT MAX(p.id_specific_price) 
    FROM (SELECT * FROM ps_specific_price ) as p)
   GROUP BY id_product
Run Code Online (Sandbox Code Playgroud)

我在哪里错了?

mysql sql duplicates

6
推荐指数
1
解决办法
1万
查看次数

如何删除/重命名 SQL 中的重复列(不是重复行)

当尝试从 Sybase 到 Microsoft SQL 执行 OPENQUERY 时,我遇到错误:

通过 OPENQUERY 和 OPENROWSET 获取的结果集中不允许有重复的列名。列名“PatientID”重复。

我构建的查询基于相似的missionID 和病人ID 连接了2 个表。

例如:

PatID   AdmID   Loc  PatID  AdmID   Doctor 
1         5      NC    1      5      Smith 
2         7      SC    2      7      Johnson
Run Code Online (Sandbox Code Playgroud)

当然,真正的查询包含的信息远不止这些。

有没有一种好方法可以重命名或删除 AdmID 和 PatID 列之一?

我尝试过:

SELECT * INTO #tempTable
ALTER #tempTable
DROP COLUMN PatID
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为 PatID 不明确。

我也尝试过:

SELECT firstTable.PatID as 'pID', * FROM...
Run Code Online (Sandbox Code Playgroud)

这也行不通。

sql sql-server sybase

6
推荐指数
1
解决办法
1万
查看次数

根据MySql中的两列删除重复记录

我想删除多余的重复记录

即在显示的图像中有两条记录corporate_id = 5category_id = 19,如何删除任何重复的行(这corporate_sed_id是主键)

在此处输入图片说明

mysql group-by group-concat

6
推荐指数
1
解决办法
3987
查看次数

删除表中的多个重复行

我确定以前曾经问过,但我很难找到它.

我在一个表中有多组重复项(3个记录为一个,2个为另一个,等等) - 存在多个行的多行.

下面是我想要删除它们,但我必须运行脚本,但有许多重复:

set rowcount 1
delete from Table
where code in (
  select code from Table 
  group by code
  having (count(code) > 1)
)
set rowcount 0
Run Code Online (Sandbox Code Playgroud)

这在某种程度上很有效.我需要为每组重复项运行它,然后它只删除1(这是我现在所需要的).

感谢您的帮助/评论!

sql t-sql sql-server

5
推荐指数
1
解决办法
9100
查看次数

MS SQL - 查找和删除重复项

可能重复:
SQL - 如何删除重复的行?
SQL查询从同一个表中删除重复的行?

如何在此表中找到双重性?

在此输入图像描述

A是唯一ID,列EF不相关,因此行1,2,3和行4,5是重复的

sql sql-server

5
推荐指数
1
解决办法
825
查看次数

如何从视图中删除"重复"行?

当我加入主表时,我有一个工作正常的视图:

LEFT OUTER JOIN OFFICE ON CLIENT.CASE_OFFICE = OFFICE.TABLE_CODE.
Run Code Online (Sandbox Code Playgroud)

但是我需要添加以下连接:

LEFT OUTER JOIN OFFICE_MIS ON CLIENT.REFERRAL_OFFICE = OFFICE_MIS.TABLE_CODE 
Run Code Online (Sandbox Code Playgroud)

虽然我补充说DISTINCT,我仍然得到一个"重复"的行.我说"重复",因为第二行有不同的值.

但是,如果我将其更改为a LEFT OUTER,则会INNER JOIN丢失具有这些"重复"行的客户端的所有行.

我究竟做错了什么?如何从我的视图中删除这些"重复"行?


注意:

此问题不适用于此实例:

如何删除重复的行?

sql t-sql sql-server-2005

4
推荐指数
1
解决办法
2万
查看次数