計算 MySQL 中的不同值
Preet Sanghavi
2023年1月3日
2022年5月14日
在本教程中,我們將介紹計算不同值的不同方法。
MySQL 中的 COUNT()
方法將表中的總行數作為輸出。但是,在本文中,我們有興趣瞭解如何計算或計算表示式的不同出現次數。執行此操作的語法可以寫成 COUNT(DISTINCT expression)
。此命令為我們提供了作為特定表示式輸出的不同非空值的總數。
讓我們看看這個方法的實際效果。
然而,在我們開始之前,我們建立了一個虛擬資料集來使用。在這裡,我們建立了一個表,student_details
,以及其中的幾行。
-- 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,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
上面的查詢建立了一個表以及其中包含學生名字和姓氏的行。為了檢視資料中的條目,我們使用以下程式碼:
SELECT * FROM student_details;
上面的程式碼將給出以下輸出。
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
計算 MySQL 中的不同值
如上所述,MySQL COUNT (DISTINCT expression)
函式為我們提供了具有唯一非空值的行數。為了計算具有唯一名字的學生數量,我們使用以下程式碼。
-- Count the number of students with different first names
SELECT COUNT(DISTINCT stu_firstName) as distinct_first_names FROM student_details ;
上面的程式碼計算 student_details
表中不同名字的數量。上面程式碼的輸出如下。
distinct_first_names
7
因此,我們可以看到唯一名稱(Preet、Rich、Veron、Geo、Hash、Sachin 和 David)已被計算為最終計數為 7。
注意
在上面的程式碼中,我們使用別名
distinct_first_names
作為 MySQL 中的 AS
關鍵字。Author: Preet Sanghavi