Мне действительно нужно написать 8 разных SQL-запросов для этого? - PullRequest
0 голосов
/ 23 ноября 2010

Я пытаюсь написать ОДИН запрос, который выполнит COUNT для нескольких столбцов, сгруппировать их по соответствующим столбцам.

Вот запрос, который у меня есть сейчас:

SELECT COUNT(*) as total,
COUNT(q3_pay) as q3_pay_total,
COUNT(q3_holidays) as q3_holidays_total,
COUNT(q3_vacation) as q3_vacation_total,
COUNT(q3_sick) as q3_sick_total,
COUNT(q3_insurance) as q3_insurance_total,
COUNT(q3_retirement) as q3_retirement_total,
COUNT(q3_fsa) as q3_fsa_total
FROM exit_responses

Мне нужно найти две вещи:

  1. Общее количество ответов для каждого столбца COUNT (столбец).
  2. Общее количество ответов X для каждого столбца COUNT (столбец [x]) <- example </li>

Есть ли способ сделать это без создания нового SQL-запроса для каждого столбца?

В настоящее время у меня есть другие запросы, такие как этаодин:

SELECT COUNT(*) as total, q2 FROM exit_responses
GROUP BY q2

Спасибо всем:).

Ответы [ 4 ]

1 голос
/ 23 ноября 2010

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

Сказав это, должно работать что-то вроде следующего.это то, что вы ищете.

0 голосов
/ 30 ноября 2010

Как уже говорили другие, пожалуйста, опубликуйте DDL или таблицу вместе с некоторыми образцами строк и ожидаемым результатом.

Хмм, я не думаю, что это то, что вы хотите сделать?

0 голосов
/ 23 ноября 2010

Count () вернет одинаковое число для каждого столбца.Что вам нужно сделать, это SUM () для каждого.Убедитесь, что вы измените значение для каждого на 1, в зависимости от содержимого.(Вы можете использовать кейс внутри суммы для этого)

0 голосов
/ 23 ноября 2010

Это зависит от ваших данных, если это то, что вы хотите, но две вещи, которые вы можете сделать:

  1. GROUP BY для всех различных столбцов, а затем используйте COUNT(DISTINCT col), чтобы получить числоразличных значений в этом столбце

  2. GROUP BY любого подходящего столбца, а затем SUM(IF(col = 'xy',1,0)), чтобы подсчитать, как часто значения удовлетворяют определенному условию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...