За последние 24 часа нас посетили 21587 программистов и 1690 роботов. Сейчас ищет 1891 программист ...

Необходимо разграничить COUNT

Тема в разделе "MySQL", создана пользователем Great_DUKE, 24 июн 2017.

  1. Great_DUKE

    Great_DUKE Новичок

    С нами с:
    2 ноя 2015
    Сообщения:
    106
    Симпатии:
    0
    У меня есть таблица в БД - tickets (id, game_id).

    Мне необходимо получить количество записей, к каждому game_id.

    Например, когда я использую запрос "SELECT COUNT(*) FROM tickets WHERE game_id IN (1, 6)", то запрос возвращает 117, т.е. сумму game_id с id 1 и 6

    В таблице tickets записи с game_id = 1 повторяется 100 раз, а с game_id = 6 повторяется 17 раз. Каким образом мне сделать так, чтобы запрос вернул не сумму количества записей, а разграниченное количество записей, отдельно к game_id=1 и к game_id=6
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    SELECT `game_id`, COUNT(*) FROM tickets WHERE `game_id` IN (1, 6) GROUP BY `game_id`;
     
    Great_DUKE нравится это.
  3. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    Код (Text):
    1. SELECT game_id, COUNT(game_id) AS count
    2. FROM tickets
    3. GROUP BY game_id
     
    Great_DUKE нравится это.
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Я думаю, where у автора не просто так и нужно посчитать именно по 1 и 6. С алиасом "as count" согласен. С отсутствием обратных кавычек вокруг названий таблицы и полей не согласен.
     
  5. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    я их все время забываю ставить)) в СМФ (движок форума) они не ставятся)) там для работы с базой используются свои функции... в них не надо кавычки ставить)
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Ну тут у нас ветвь "MySQL". Так что то, как там в каких движках на каких языках что работает, значения не имеет. Надо всегда помнить правила хорошего тона в написании "чистых" запросов. Без обратных кавычек можно-таки влететь однажды. Причем по типу "вчера все работало, а сегодня обновил mysql и у меня отвалился продакшен к чертям". Лучше перебдеть, как грицца.