2
У меня есть эта таблица в базе данных MySQL:запросов, сумма, с условием в одном запросе с MySQL
TABLE rating
| id (int, primary)
| id_company (int, index)
| state (enum: 'waiting','done','refuse')
| rating (int between 1 and 5)
Я хочу, чтобы получить эту статистику за один id_company:
- количество линий
- номер строки с состоянием = сделано
- рейтинг сумма рейтинг
- сумма с состоянием = сделано
Для этого я 2 запросов (Exemple с id_company = 2):
SELECT COUNT(1) as `nbr`, SUM(`rating`) as `total` FROM `rating` WHERE `id_company`=2
SELECT COUNT(1) as `nbr`, SUM(`rating`) as `total` FROM `rating` WHERE `id_company`=2 AND `state`='done'
Но можно сделать уникальный запрос, чтобы получить эту статистику?
Молодцы, спасибо. Почему бы не позволить id_company в предложении where? он тоже работает. – Jeremy
@Jeremy Да, вы правы. Предикат 'id_company' также должен использоваться в предложении' WHERE', потому что он заставляет запрос работать быстрее. –
Почему вы сохраняете 'id_company = 2' в случаях при добавлении 'where'? – splash58