在 MySQL 中選擇唯一值

Preet Sanghavi 2022年5月13日
在 MySQL 中選擇唯一值

在本教程中,我們旨在瞭解如何在 MySQL 資料庫中查詢唯一值。

MySQL 為我們提供了一個有用的語句來從指定表的特定列中查詢不同或不同值的總數。該語句是 SELECT DISTINCT

這通常被企業和企業用來在其資料庫中查詢不同使用者或客戶的列表或計數。讓我們看看這個方法的實際效果。

但是,首先,讓我們建立一個虛擬資料集。

-- create the table student_details
CREATE TABLE student_details(
	stu_id int,
	stu_firstName varchar(255) DEFAULT NULL,
	stu_lastName varchar(255) DEFAULT NULL,
	primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Preet","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

在 MySQL 中使用 SELECT DISTINCT 選擇唯一值

MySQL 中的 SELECT DISTINCT 語句幫助我們獲取特定表中的唯一值。SELECT DISTINCT 語句的基本語法如下。

SELECT DISTINCT column_name
FROM name_of_the_table;

上述程式碼返回來自列 column_name 的不同條目,這些條目可能有也可能沒有重複條目。

讓我們從 student_details 表中獲取具有不同名字的所有學生。與學生的名字值關聯的列是 stu_firstName

讓我們使用 SELECT DISTINCT 來完成這項任務。我們可以利用以下查詢從 student_details 表中獲取不同或唯一的名字值。

SELECT DISTINCT stu_firstName
FROM student_details;

上述查詢的輸出如下。

stu_firstName
Preet
Rich
Veron
Hash
Sachin
David

如上面的程式碼塊所示,在我們的 student_details 表中新增的七行中,我們只有六個唯一的名字。因此,輸出只有六個名稱,因為 Preet 在我們的列 stu_firstName 中重複了兩次。

如果我們只想找到唯一值的總數,我們可以使用以下語法。

SELECT COUNT(DISTINCT(column_name))
from name_of_the_table

在我們的例子中,我們可以使用以下查詢從 stu_firstName 列中查詢學生的唯一名字的數量。

SELECT COUNT(DISTINCT(stu_firstName)) as total_unique_first_names
from student_details

上述程式碼塊的輸出如下。

total_unique_first_names
6

因此,在 SELECT DISTINCT 語句的幫助下,我們可以有效地找到不同條目的總數或從 MySQL 中的表中獲取特定列的所有唯一值。

作者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相關文章 - MySQL Select