EN
MySQL - COUNT IF example
0
points
In this article, we would like to show you COUNT IF
statement example in MySQL.
Quick solution:
SELECT COUNT(IF(condition, 1, NULL)) AS 'alias_name';
Note:
Go to this article to read more about
IF()
function and its parameters.
Practical example
To show you how IF()
function works, we will use the following users
table:
Note:
At the end of this article you can find database preparation SQL queries.
Example
In this example, we will count the number of users whose salary is high, average or low.
Query
SELECT
COUNT(IF(`salary` = 6000, 1, NULL)) AS 'high_salary',
COUNT(IF(`salary` = 4000, 1, NULL)) AS 'average_salary',
COUNT(IF(`salary` = 2000, 1, NULL)) AS 'low_salary'
FROM
`users`;
Result:
Database preparation
create_tables.sql
file:
CREATE TABLE `users` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
`surname` VARCHAR(50) NOT NULL,
`department_id` INT(10) UNSIGNED,
`salary` DECIMAL(15,2) NOT NULL,
PRIMARY KEY (`id`)
);
insert_data.sql
file:
INSERT INTO `users`
( `name`, `surname`, `department_id`, `salary`)
VALUES
('John', 'Stewart', 1, '6000'),
('Chris', 'Brown', 2, '6000'),
('Kate', 'Lewis', 3, '4000'),
('Ailisa', 'Gomez', NULL, '4000'),
('Gwendolyn', 'James', 2, '4000'),
('Simon', 'Collins', 4, '4000'),
('Taylor', 'Martin', 2, '2000'),
('Andrew', 'Thompson', NULL, '2000');