Нужна помощь с SQL-запросом, группировкой и объединением / объединением? - PullRequest
0 голосов
/ 06 июля 2011

У меня есть таблица MySQL с 3 столбцами:

  • id [int]
  • name [varchar]
  • время [отметка времени CURRENT_TIMESTAMP]
  • флаг [логическое значение]

Я использую такой запрос, чтобы сгруппировать результатыпо дням:

SELECT COUNT(DISTINCT name), DATE(time) as day FROM `table` GROUP BY day

Это прекрасно работает, но я действительно хочу получить COUNT(DISTINCT name) WHERE FLAG = 0 и COUNT(DISTINCT name) WHERE FLAG = 1 в одном запросе и сгруппировать их по дням.

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

Ответы [ 3 ]

0 голосов
/ 06 июля 2011

Мне интересно, что вы хотите создать результат с помощью хранимой процедуры или только запросом выбора?

"date" 
"count number of flag = 1" 
"count number of flag =0"

Вы можете

  1. создать 2 таблицы шаблонов и вставить в них результаты запроса "flag = 1" и запроса "flag = 0"
  2. объединить 2 таблицы шаблонов в «дату».
0 голосов
/ 06 июля 2011

Ваш вопрос не очень понятен, но я думаю, что это может помочь .. ВЫБЕРИТЕ COUNT (ОТЛИЧНОЕ имя), ДАТУ (время) в качестве дня ОТ table ГРУППА ПО ДНЮ С ФЛАГОМ = 0 и ФЛАГОМ = 1

Или вы можете манипулировать этим запросом, как хотите, чтобы сгруппировать ..

0 голосов
/ 06 июля 2011

Затем вы должны применить группировку сначала по флагу, а затем в день

SELECT COUNT(DISTINCT name), DATE(time) as day FROM `table` GROUP BY flag,day
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...