“SQL Удалить дубликаты” Ответ

SQL Удалить дубликаты

WITH cte AS (
    SELECT 
        contact_id, 
        first_name, 
        last_name, 
        email, 
        ROW_NUMBER() OVER (
            PARTITION BY 
                first_name, 
                last_name, 
                email
            ORDER BY 
                first_name, 
                last_name, 
                email
        ) row_num
     FROM 
        sales.contacts
)
DELETE FROM cte
WHERE row_num > 1;
/*
Code language: SQL (Structured Query Language) (sql)

In this statement:

First, the CTE uses the ROW_NUMBER() function to find the duplicate rows 
specified by values in the first_name, last_name, and email columns.

Then, the DELETE statement deletes all the duplicate rows but keeps only one 
occurrence of each duplicate group.*/
Lucas Gomes

SQL DELETE Duplicate

-- Oracle
DELETE FROM films
WHERE rowid NOT IN (
    SELECT min(rowid)
    FROM films
    GROUP BY title, uk_release_date
);
VasteMonde

SQL удалить дубликаты рядов, но сохраните один

# Step 1: Copy distinct values to temporary table
CREATE TEMPORARY TABLE tmp_user (
    SELECT id, name 
    FROM user
    GROUP BY name
);

# Step 2: Remove all rows from original table
DELETE FROM user;

# Step 3: Remove all rows from original table
INSERT INTO user (SELECT * FROM tmp_user);

# Step 4: Remove temporary table
DROP TABLE tmp_user;
Upset Unicorn

Удалить дубликаты значений из таблицы в SQL Server

WITH cte AS (
    SELECT 
        contact_id, 
        first_name, 
        last_name, 
        email, 
        ROW_NUMBER() OVER (
            PARTITION BY 
                first_name, 
                last_name, 
                email
            ORDER BY 
                first_name, 
                last_name, 
                email
        ) row_num
     FROM 
        sales.contacts
)
DELETE FROM cte
WHERE row_num > 1;
Code language: SQL (Structured Query Language) (sql)
Vast Vole

Удалить дубликат SQL

WITH CTE AS(
   SELECT [col1]
           ,[col2]
           ,[col3]
     ,
       RN = ROW_NUMBER()OVER(PARTITION BY [col1],[col2],[col3] ORDER BY [col1],[col2],[col3])
   FROM [dbo].[table1]

)
DELETE FROM CTE WHERE RN > 1
dr4ft

SQL Удалить дубликат

DELETE FROM [SampleDB].[dbo].[Employee]
    WHERE ID NOT IN
    (
        SELECT MAX(ID) AS MaxRecordID
        FROM [SampleDB].[dbo].[Employee]
        GROUP BY [FirstName], 
                 [LastName], 
                 [Country]
    );
WilsonWW

Ответы похожие на “SQL Удалить дубликаты”

Вопросы похожие на “SQL Удалить дубликаты”

Больше похожих ответов на “SQL Удалить дубликаты” по Sql

Смотреть популярные ответы по языку

Смотреть другие языки программирования