[1]
18 Авг 2014, 12:58

MySQL несколько COUNT с разными условиями в одном запросе

Привет!

Возможно ли в MySQL написать запрос который будет подсчитывать количество записей по разным условиям? Например, у меня сложный запрос и не хотелось бы делать три разных запроса к базе, в которых менялись только условия для функции COUNT.

Простой запрос для примера:

SELECT COUNT(*) as count FROM tbl WHERE user_id=1;

Так я посчитаю сколько записей в таблице для конкретного пользователя. В этом же запросе я хочу подсчитать так же сколько записей публичны, а сколько нет. Отметка об этом хранится в поле public=yes|no.

#mysql, #sql

Комментарии (1)
fullzilla
19 Авг 2014, 14:12
#

Для этого можно использовать функцию SUM.

SELECT COUNT(*) as count, SUM(public='yes') as count_yes, SUM(public='no') as count_no FROM tbl WHERE user_id=1;

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки: