SQL Count()-funktiota voidaan käyttää myös WHERE-lauseen kanssa SELECT-käskyssä.
Count() ja WHERE-lause palauttaa vain ne taulukon rivit, jotka vastaavat WHERE-lauseessa määritettyä ehtoa.
SQL-funktion syntaksi Count() WHERE-lauseen kanssa
SELECT COUNT(Column_Name) FROM Table_Name WHERE [Condition];
Esimerkkejä SQL Count -funktiosta, jossa on WHERE-lause
Esimerkki 1: Luo ensin taulukko ja suorita sitten laskentatoiminto.
Seuraava CREATE TABLE -käsky luo Cars_Details-taulukon, jossa on viisi kenttää:
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 ) ;
Seuraava INSERT-kysely lisää autojen tietueen Cars_Details-taulukkoon:
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);
Seuraava SELECT-kysely näyttää tiedot kohteesta Cars_Details pöytä:
SELECT * FROM Cars_Details;
Auton_numero | Auton_nimi | Auton_määrä | Auto_hinta |
---|---|---|---|
2578 | Kreeta | 3 | 900 000 |
9258 | Audi | 2 | 1100000 |
8233 | Paikka | 6 | 900 000 |
8990 | Nexon | 7 | 700 000 |
7085 | Mercedes | 6 | 8000000 |
1258 | Uusi | 2 | 1500000 |
2564 | Jaguar | 4 | 6000000 |
9578 | Skorpioni | 8 | 1800000 |
Seuraava kysely näyttää niiden autojen kokonaisarvon, joiden Auton_numero on suurempi ja yhtä suuri kuin 7000:
SELECT COUNT(Car_Name) As 'Number_of_Cars'FROM Cars_Details WHERE Car_Number >= 7000;
Lähtö:
Esimerkki 2: Seuraava kysely luo College_Student_Details taulukko käyttäen CREATE TABLE -käskyä:
CREATE TABLE College_Student_Details ( Student_ID INT NOT NULL, Student_Name varchar(100), Student_Course varchar(50), Student_Age INT, Student_Marks INT );
Seuraavat SQL-kyselyt lisäävät opiskelijoiden tietueen yllä olevaan taulukkoon käyttämällä INSERT INTO -käskyä:
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);
Katsotaan yllä olevan taulukon tietue käyttämällä seuraavaa SELECT-käskyä:
SELECT * FROM College_Student_Details;
Opiskelijanumero | Opiskelijan nimi | Opiskelija_kurssi | Opiskelija-ikä | Student_Marks |
---|---|---|---|---|
101 | Anuj | B.tech | kaksikymmentä | 88 |
102 | Raman | MCA | 24 | 98 |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | kaksikymmentä | 78 |
111 | Monu | MBA | kaksikymmentäyksi | 65 |
114 | Jones | B.tech | 18 | 93 |
121 | Hiukset | BCA | kaksikymmentä | 97 |
123 | Divya | B.tech | kaksikymmentäyksi | 89 |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | kaksikymmentä | 88 |
132 | Priya | MBA | 22 | 99 |
138 | Mohit | MCA | kaksikymmentäyksi | 92 |
Seuraava Count-kysely näyttää niiden opiskelijoiden kokonaismäärän, joiden Student_Marks on suurempi kuin 90:
SELECT COUNT(*) As 'Number_of_Students'FROM Collge_Student_Details WHERE Student_Marks > 90;
Lähtö: