Использование count() и GROUP BY

  • Автор темы Voroshil
  • 47
  • Обновлено
  • 17, May 2024
  • #1
привет!

Итак, сейчас у меня есть база данных с 8 столбцами, которые соответствуют 8 вопросам.

Каждый вопрос может иметь ответ в диапазоне от 1 до 5 в качестве значения. В настоящее время я использую это для каждого вопроса:
 SELECT q1, count(*) FROM table GROUP BY q1


Код (разметка): Ограничения:

1. Не будет отображаться 0 для ответа, который никто не выбрал.

2. Было бы слишком много запросов, если бы я хотел взять значения и отобразить их с помощью php.

Есть ли другой способ добиться того же?

В идеале мне хотелось бы подсчитать количество ответов на вопрос.

Что-то, что я затем могу перенести на PHP, сгенерировать переменную и использовать для заполнения сводной таблицы.

Как лучше всего я могу это сделать?

Voroshil


Рег
01 Jan, 2011

Тем
1

Постов
1

Баллов
11
  • 08, Jun 2024
  • #2
Подсчет только в одной таблице не может показать вам значения, которых нет в таблице... Для этого у вас могут быть две другие таблицы, содержащие вопросы и все возможные варианты ответов на каждый вопрос. У вас будет что-то вроде этого: выберите C.choice_id, count(*) из вопросов Q, выбор С, ответы А где Q.question_id = C.question_id ответ A.choice_id (+)= C.choice_id группа по C.choice_id
 

imperiaseo


Рег
16 Apr, 2014

Тем
0

Постов
3

Баллов
3
Тем
49554
Комментарии
57426
Опыт
552966

Интересно