带DISTINCT子句的SQL SELECT语句

时间:2020-02-23 14:32:32  来源:igfitidea点击:

在本文中,我们将重点介绍SQL SELECT DISTINCT语句。

什么是SQL SELECT语句?

SQL Select语句用于从表/数据库的列中选择和显示特定数据。

语法:

SELECT * FROM Table-name;
OR
SELECT column1, column2, ...., columnN from Table-name;

例:

create table Info(id integer, Cost integer, city varchar(200));
insert into Info(id, Cost,city) values(1, 100,"Pune");
insert into Info(id, Cost,city) values(2, 50, "Satara");
insert into Info(id, Cost,city) values(3, 65,"Pune");
insert into Info(id, Cost,city) values(4, 97,"Mumbai");
insert into Info(id, Cost,city) values(5, 12,"USA");
Select * from Info;

输出:

id	Cost	city
1	100	Pune
2	50	Satara
3	65	Pune
4	97	Mumbai
5	12	USA

什么是SQL DISTINCT子句?

SQL DISTINCT子句有助于从表中提取非冗余值,即排除冗余/重复值并仅显示唯一值。

  • DISTINCT子句与SQL Aggregation函数一起很好地工作。

  • SQL DISTINCT子句不能一次映射多个列。

语法:

DISTINCT(column-name)

例:

SELECT DISTINCT(city) from Info;

输出:

city
Pune
Satara
Mumbai
USA

使用DISTINCT子句的SQL SELECT工作

可以将SQL SELECT语句与DISTINCT子句组合在一起,以提取并显示特定表中的唯一值。

此外,SELECT DISTINCT语句可与不同的聚合函数(例如COUNT(),AVG()等)一起使用,以根据某些预定义条件显示唯一值。

语法:

SELECT DISTINCT(column-name)
FROM Table;

了解了SQL SELECT DISTINCT语句的工作原理之后,现在让我们在下面的部分中了解一下该语句的实现。

通过示例实现SQL SELECT DISTINCT

在下面的示例中,我们将SQL DISTINCT语句与ORDER BY子句结合在一起。
其中,它会根据"费用"值以升序显示唯一的"城市"数据。

Select DISTINCT(city),Cost
From Info
ORDER BY Cost;

输出:

city	Cost
USA	12
Satara	50
Pune	65
Mumbai	97
Pune	100

现在,我们使用了COUNT(*)函数和SELECT DISTINCT语句来显示列" city"的所有唯一值的计数。

SELECT COUNT(*) 
FROM (
SELECT  DISTINCT city
FROM Info) as Inn;

输出:

COUNT(*)
4

其中我们创建了一个表格-"信息",其中包含各列。
此外,我们将SELECT DISTINCT语句与WHERE子句一起使用,以提取并显示"费用"等于100的唯一值。

create table Info(id integer, Cost integer, city varchar(200));
insert into Info(id, Cost,city) values(1, 100,"Pune");
insert into Info(id, Cost,city) values(2, 50, "Satara");
insert into Info(id, Cost,city) values(3, 100,"Pune");
insert into Info(id, Cost,city) values(4, 100,"Mumbai");
insert into Info(id, Cost,city) values(5, 12,"USA");
SELECT DISTINCT city,Cost
FROM Info 
WHERE Cost=100;

输出:

city	Cost
Pune	100
Mumbai	100