SQL Count()-funksjonen kan også brukes med WHERE-leddet i SELECT-setningen.
telle distinkt
Count() med WHERE-leddet returnerer bare de radene fra tabellen som samsvarer med betingelsen spesifisert i WHERE-leddet.
Syntaks for SQL Count()-funksjon med WHERE-ledd
SELECT COUNT(Column_Name) FROM Table_Name WHERE [Condition];
Eksempler på SQL Count-funksjon med WHERE-klausul
Eksempel 1: Lag først en tabell og kjør deretter tellefunksjonen.
Følgende CREATE TABLE-setning oppretter tabellen Cars_Details med fem felt:
CREATE TABLE Cars_Details ( Car_Number INT PRIMARY KEY, Car_Model INT, Car_Name VARCHAR (50), Car_Price INT NOT NULL, Car_AmountINT NOT NULL ) ;
Følgende INSERT-spørring setter inn oppføringen av biler i Cars_Details-tabellen:
INSERT INTO Cars_Details (Car_Number, Car_Model, Car_Name, Car_Amount, Car_Price) VALUES (2578, 2018, Creta, 3, 1500000), (9258, 2019, Audi, 2, 3000000), (8233, 2018, Venue, 6, 900000), (8990, 2018, Nexon, 7, 700000), (7085, 2020, Mercedes, 6, 8000000), (1258, 2021, Thar, 2, 1500000), (2564, 2019, Jaguar, 4, 6000000), (9578, 2020, Scorpio, 8, 1800000);
Følgende SELECT-spørring viser dataene til Cars_Details bord:
SELECT * FROM Cars_Details;
Bilnummer | Bilnavn | Bil_Beløp | Bil_Pris |
---|---|---|---|
2578 | Kreta | 3 | 900 000 |
9258 | Audi | 2 | 1100000 |
8233 | Sted | 6 | 900 000 |
8990 | Nexon | 7 | 700 000 |
7085 | Mercedes | 6 | 8000000 |
1258 | Ny | 2 | 1500000 |
2564 | Jaguar | 4 | 6000000 |
9578 | Skorpionen | 8 | 1800000 |
Følgende spørring viser den totale verdien av de bilene hvis Car_Number er større enn og lik 7000:
SELECT COUNT(Car_Name) As 'Number_of_Cars'FROM Cars_Details WHERE Car_Number >= 7000;
Produksjon:
Eksempel 2: Følgende spørring oppretter College_Student_Details tabell ved å bruke CREATE TABLE-setningen:
CREATE TABLE College_Student_Details ( Student_ID INT NOT NULL, Student_Name varchar(100), Student_Course varchar(50), Student_Age INT, Student_Marks INT );
Følgende SQL-spørringer setter inn posten til elevene i tabellen ovenfor ved hjelp av INSERT INTO-setningen:
INSERT INTO College_Student_Details VALUES (101, Anuj, B.tech, 20, 88); INSERT INTO College_Student_Details VALUES (102, Raman, MCA, 24, 98); INSERT INTO College_Student_Details VALUES (104, Shyam, BBA, 19, 92); INSERT INTO College_Student_Details VALUES (107, Vikash, B.tech, 20, 78); INSERT INTO College_Student_Details VALUES (111, Monu, MBA, 21, 65); INSERT INTO College_Student_Details VALUES (114, Jones, B.tech, 18, 93); INSERT INTO College_Student_Details VALUES (121, Parul, BCA, 20, 97); INSERT INTO College_Student_Details VALUES (123, Divya, B.tech, 21, 89); INSERT INTO College_Student_Details VALUES (128, Hemant, MBA, 23, 90); INSERT INTO College_Student_Details VALUES (130, Nidhi, BBA, 20, 88); INSERT INTO College_Student_Details VALUES (132, Priya, MBA, 22, 99); INSERT INTO College_Student_Details VALUES (138, Mohit, MCA, 21, 92);
La oss se oversikten over tabellen ovenfor ved å bruke følgende SELECT-setning:
SELECT * FROM College_Student_Details;
Student ID | Student navn | Student_Course | Student_Alder | Student_Marks |
---|---|---|---|---|
101 | Anuj | B.tech | tjue | 88 |
102 | Raman | MCA | 24 | 98 |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | tjue | 78 |
111 | Monu | MBA | tjueen | 65 |
114 | Jones | B.tech | 18 | 93 |
121 | Håret | BCA | tjue | 97 |
123 | Divya | B.tech | tjueen | 89 |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | tjue | 88 |
132 | Priya | MBA | 22 | 99 |
138 | Mohit | MCA | tjueen | 92 |
Følgende Count-spørring viser det totale antallet studenter som har Student_Marks er større enn 90:
SELECT COUNT(*) As 'Number_of_Students'FROM Collge_Student_Details WHERE Student_Marks > 90;
Produksjon: