Alex_Wells
@Alex_Wells
PHP/Kotlin

Count group by order by 0?

Здравствуйте. Есть запрос:

SELECT `bot_id`, COUNT(*) AS `total`
FROM `items` 
GROUP BY `bot_id`
ORDER BY `total` ASC


Вытягивает bot_id, у которого наименьшее кол-во items.bot_id = bot_id.
Собственно запрос сортирует нормально, если у bot_id больше чем 0 предметов. Нужно, что-бы 0 тоже выводился и был в приоритете. Как это сделать?
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SELECT `b`.`id` AS `bot_id`, IFNULL(`c`.`count`, 0) AS `total`
  FROM (
    SELECT `bot_id`, COUNT(*) AS `count`
      FROM `items`
      GROUP BY `bot_id`
  ) AS `c`
  RIGHT JOIN `bots` AS `b` ON `b`.`id` = `c`.`bot_id`
  ORDER BY `total`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы