SQL Distinct和*组合下

时间:2017-04-12 11:05:07

标签: sql

我知道select count(distinct country) from customer做了什么。

但我无法理解这是什么

SELECT *, COUNT(DISTINCT Country) 
FROM Customers;

一样。

任何人都可以解释一下吗?

(使用此链接输入我要求的代码)https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_distinct2

3 个答案:

答案 0 :(得分:0)

它什么都不做:

create table #test (Country varchar(10), Otherthings varchar(20))
insert into #test(Country,Otherthings) values ('UK','Something'),('USA','Something else')

SELECT *, COUNT(DISTINCT Country) 
FROM #test

产地:

> Column '#test.Country' is invalid in the select list because it is not
> contained in either an aggregate function or the GROUP BY clause.

答案 1 :(得分:-2)

SELECT *, COUNT(DISTINCT Country) FROM Customers;

将为您提供一列,包括列,计数(唯一国家/地区的名称)。 而且我不认为它会产生错误,就像有人说的那样。我尝试了它并且它正在工作。

答案 2 :(得分:-2)

您获得客户表中的国家/地区数量。此处DISTINCT关键字用于避免重复计数。例如:国家名单是印度,印度,西班牙,德国,西班牙,那么计数是3。