Я хочу выполнить агрегатную функцию и добиться результата, показанного на диаграмме ниже:
Новый результат:
У меня есть этот запрос:
$subscribers= Cloudsubscriptions::join("services","cloudsubscriptions.service_name","=","services.name")
->join("service_type","services.service_type","=","service_type.id")
->select("cloudsubscriptions.service_name"
,"service_type.name as service_type"
,DB::raw("(SELECT count(cloudsubscriptions.id) FROM 'cloudsubscriptions' WHERE 'is_subscribe' = 1) as total_active_users")
,DB::raw("(SELECT count(cloudsubscriptions.id) FROM 'cloudsubscriptions' WHERE 'is_subscribe' = 0) as total_inactive_users")
,DB::raw("(SELECT count(cloudsubscriptions.id) FROM 'cloudsubscriptions') as total_users"))
->groupBy("cloudsubscriptions.service_name")
->get();
Я ожидаю, что на диаграмме будет показан результат, но я получил эту ошибку
"SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с" cloudsubscription "WHERE" is_subscribe "= 1) как total_active_users, (SELECT co 'в строке 1 (SQL: выберите cloudsubscriptions
. service_name
, service_type
. name
как service_type
, (SELECT count (cloudsubscription.id)) из' cloudsubscription 'ГДЕ'is_subscribe' = 1) как total_active_users, (SELECT count (cloudsubscription.id) FROM 'cloudsubscription' WHERE 'is_subscribe' = 0) как total_inactive_users, (SELECT count (cloudsubscription.id) FROM 'cloudsubscription') как total_users из cloudsubscriptions
внутреннее соединение services
на cloudsubscriptions
. service_name
= services
. name
внутреннее объединение service_type
в services
. service_type
= service_type
. id
сгруппировать по cloudsubscriptions
. service_name
упорядочить по service_name
пределу asc15 смещение 0) ◀ "
Как мне решить, пожалуйста?