2
стола Devices:подсчет несколько значений строк в одном запросе, MySQL
id device type_id device_status
1 dev1 2 1
2 dev2 2 2
3 dev3 7 2
4 dev5 9 3
модель таблица:
model_id vendor_id model_name
1 3 name1
2 5 name2
3 7 name3
4 7 name4
и запрос выглядит следующим образом:
SELECT model_id, type_id, model_name,
COUNT(type_id) AS numOfDevices
FROM devices
LEFT JOIN models ON models.model_id = devices.type_id
WHERE device_status = 2 OR device_status = 3
GROUP BY type_id
, что я получаю от этот запрос:
There are $numOfDevices $model_name items.
и все в порядке, но есть ли способ подсчета устройств только с device_status = 3 в том же запросе?
'SUM (DEVICE_STATUS = 2) AS device2' не делают его выносливее то :) "логическое" возвращает 0 или 1, так что ваш случай, когда не требуется. –
Я получаю сообщение об ошибке: {"errorInfo": ["42000", 1064, "У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с устройствами FROM \ n \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ tLEFT Модели JOIN ON models.model_id = devices.type_id \ r 'в строке 4 "]}. BTW Я использую PDO и 5.1.62 - это версия mysql – InTry
Удалить последнюю ',' в третьей строке. –