SQL:仅在表中打印一次名称

时间:2013-10-24 14:48:22

标签: sql

我正在尝试列出下订单的客户名称,这些客户来自某个县并从某个销售代表处下订单。问题是,最终表格多次打印出他们的名字。如何让他们只打印一次名称?

SELECT cName
FROM customer INNER JOIN orders ON customer.cNo = orders.cNO,author
WHERE county = "Galway" AND saleRepName = "Jane Smith"; 

1 个答案:

答案 0 :(得分:2)

您可以使用Distinct,但如果有大量记录,您可能会受到性能影响

SELECT DISTINCT
    cName 
FROM customer 
    INNER JOIN orders ON customer.cNo = orders.cNO,author 
WHERE county = "Galway" AND saleRepName = "Jane Smith";

Group By可能会更快,并且可以让您获得计数:

SELECT
    count(1),
    cName 
FROM customer 
    INNER JOIN orders ON customer.cNo = orders.cNO,author 
WHERE county = "Galway" AND saleRepName = "Jane Smith";
GROUP BY cName

这将打印出如下内容:

3 John Doe
6 Jane Smith
1 Jersey Mike