SQL删除重复项

时间:2013-08-23 08:13:58

标签: mysql sql

我是SQL的新手,我当前的SQL查询是: -

SELECT
    CONCAT(LastName,', ',FirstName)AS 'Name',</li>
    City,
    Country,
    ShipCity AS 'Shipped City'
From 
    itstudies.employees
INNER JOIN
    Orders
ON Employees.EmployeeID = Orders.EmployeeID
WHERE City = ShipCity;
此查询将输出显示为: -

(仅显示部分输出。)

Name            City     Country     Shipped City
Smith, Jo       York       UK            York
Avery, Paul     Dallas     USA           Dallas
Avery, Paul     Dallas     USA           Dallas 
Kris, Jan       York       UK            York
Kris, Jan       York       UK            York
Hill, Ros       Boston     USA           Boston
我需要取出重复项并更改查询以显示: -

Name            City     Country     Shipped City
Smith, Jo       York       UK            York
Avery, Paul     Dallas     USA           Dallas
Kris, Jan       York       UK            York
Hill, Ros       Boston     USA           Boston
在此先感谢。

2 个答案:

答案 0 :(得分:2)

你可以使用

SELECT DISTINCT ...

但通常最好是查看重复项的来源并使用

GROUP BY

在这种情况下,您加入ORDERS,从而获得员工所有订单的重复项。这次加入是否必要?你可以用

WHERE EXISTS (SELECT 1 FROM Orders WHERE Orders.EmployeeId=Employees.EmployeeId)

只获得订购的员工。

答案 1 :(得分:0)

简单:使用DISTINCT关键字。

您可以参考http://www.w3schools.com/sql/sql_distinct.asp了解更多详情;)