Mysql - подсчитывает нулевые и ненулевые поля в одном запросе

Таблица ввода (с именем ruchin)

id     comment           order_id          deleted_at
1        abc               1234              NULL
2        abcd              1234              TimeStamp
3        xyz               1234              NULL
4        pqr               1234              TimeStamp
5        as                4567               NULL
6        lo                4567               NULL

и я хочу выводить как

order_id        count(deleted_at==Timestamp)    count(deleted_at==NULL)
1234                   2                                 2
4567                   0                                  2

и я хочу, чтобы это было в одном запросе. Как я могу это сделать ???

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
27
1

Ответы 1

Для этого можно использовать функцию count(), поскольку она не считает значения NULL.

Вот запрос:

SELECT order_id, 
       count(deleted_at) as 'del is not null',
       count(order_id) - count(deleted_at) as 'del is NULL' 
FROM ruchin 
GROUP BY order_id

Здесь NULL - это параметр, он не означает фактический NULL, рассматривайте NULL как переменную x.

RUCHIN CHAUHAN 09.06.2018 14:46

Другие вопросы по теме