在 MySQL 中選擇唯一值
Preet Sanghavi
2022年5月13日
在本教程中,我們旨在瞭解如何在 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