SQL:只打印一次表中的名称
我试着列出下订单的客户姓名,他们来自某个县,并且从某个销售代表那里下了订单。问题是,最终的表格会多次打印出他们的姓名。我如何让他们每次只打印一次姓名SQL:只打印一次表中的名称,sql,Sql,我试着列出下订单的客户姓名,他们来自某个县,并且从某个销售代表那里下了订单。问题是,最终的表格会多次打印出他们的姓名。我如何让他们每次只打印一次姓名 SELECT cName FROM customer INNER JOIN orders ON customer.cNo = orders.cNO,author WHERE county = "Galway" AND saleRepName = "Jane Smith"; 您可以使用Distinct,但如果记录太多,可能会影响性能 SELECT
SELECT cName
FROM customer INNER JOIN orders ON customer.cNo = orders.cNO,author
WHERE county = "Galway" AND saleRepName = "Jane Smith";
您可以使用
Distinct
,但如果记录太多,可能会影响性能
SELECT DISTINCT
cName
FROM customer
INNER JOIN orders ON customer.cNo = orders.cNO,author
WHERE county = "Galway" AND saleRepName = "Jane Smith";
分组方式
可能会更快,还可以让您获得计数:
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
选择不同的cName…
您正在使用哪个DBMS?(“Galway”
是指定字符串文字的非标准方式-SQL使用单引号表示字符串文字)如果是count(cName)
,则无所谓<代码>计数(1),计数(cName)
和计数(*)
都将产生相同的输出。他使用的任何DBMS都足够聪明,可以对其进行优化。哈,不知道计数(1)