sql 中去重復(fù)是指刪除重復(fù)記錄,保留唯一值。可使用 distinct 關(guān)鍵字或 group by 子句實(shí)現(xiàn)去重復(fù):1. distinct 關(guān)鍵字:返回唯一值,僅保留不同值;2. group by 子句:將相同值分組,保留每個組一個代表值,并可計算聚合函數(shù)。
SQL 如何去重復(fù)
簡要回答:
SQL 中去重復(fù)是指刪除重復(fù)記錄,保留唯一值。可以使用 DISTINCT 關(guān)鍵字或 GROUP BY 子句來實(shí)現(xiàn)去重復(fù)。
詳細(xì)解釋:
DISTINCT 關(guān)鍵字
DISTINCT 關(guān)鍵字用于從查詢結(jié)果中返回唯一值。它可以與 SELECT 語句一起使用,后跟要篩選的列名。例如:
SELECT DISTINCT column_name FROM table_name;
登錄后復(fù)制
GROUP BY 子句
GROUP BY 子句將具有相同值的行分組,然后僅返回每個組的一個代表行。它可以用于計算聚合函數(shù)(如 COUNT()、SUM() 等)并去重復(fù)。例如:
SELECT column_name, COUNT(*) AS count FROM table_name GROUP BY column_name;
登錄后復(fù)制
選擇方法
選擇去重復(fù)方法取決于具體需求:
如果只關(guān)心保留唯一值,則使用 DISTINCT 關(guān)鍵字。
如果需要計算聚合函數(shù)并去重復(fù),則使用 GROUP BY 子句。
示例:
考慮以下表 customers,其中包含重復(fù)的客戶姓名:
customer_id | customer_name |
---|---|
1 | John Smith |
2 | Jane Doe |
3 | John Smith |
4 | Mary Johnson |
使用 DISTINCT 去重復(fù):
SELECT DISTINCT customer_name FROM customers;
登錄后復(fù)制
結(jié)果:
customer_name |
---|
John Smith |
Jane Doe |
Mary Johnson |
使用 GROUP BY 去重復(fù)并計算記錄數(shù):
SELECT customer_name, COUNT(*) AS count FROM customers GROUP BY customer_name;
登錄后復(fù)制
結(jié)果:
customer_name | count |
---|---|
John Smith | 2 |
Jane Doe | 1 |
Mary Johnson | 1 |