简体   繁体   中英

How do I Use Count Function for different values of the same column in MS-SQL?

For DB StudentInfo and Table Student as follows:

CREATE TABLE Student
(
     ID INT PRIMARY KEY IDENTITY(1,1),
     Name nvarchar(255)
)

and inserting values:

Insert Into Student Values ('Ashok')` 

executing it 3 times, and

Insert Into Student Values ('Achyut')

executing it 2 times and total 5 rows of data are inserted into the table.

I want to display a result counting the result with the name having 'Ashok' & 'Achyut'.

Generally for single values count in a column I use:

 SELECT Count(Name) AS NoOfStudentHavingNameAshok 
 FROM Student
 WHERE Name = 'Ashok'

but how to display the NoOfStudentHavingNameAshok & NoOfStudentHavingNameAchyut what query should I run?

You should include name in the select and group by name .

SELECT name, Count(*) 
From Student
group by name

You can put conditions inside your COUNT() function:

select count(case when Name = 'Ashok' then 'X' end) as NoOfStudentHavingNameAshok,
       count(case when Name = 'Achyut' then 'X' end) as NoOfStudentHavingNameAchyut
  from Student

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM