Команда SQL для группировки поля и создания нового столбца - PullRequest
0 голосов
/ 31 января 2012

У меня есть таблица: name, date, url, no, url включает "facebook","twitter","other".

Как мне сгенерировать новую таблицу: date, facebook, twitter, total, unique name, чтобы при группировании по дате поле facebook представляло собой сумму no WHERE url="facebook" и совпадало с twitter; Поле total является суммой no всех; unique name считает отличное name число?

1 Ответ

4 голосов
/ 31 января 2012

Вы можете использовать SUM / CASE для этого.

SELECT Date,
       SUM(case when url = 'facebook' then no else 0 end) as facebook,
       SUM(case when url = 'twitter' then no  else 0 end) as twitter,
       SUM(no) total,
       COUNT(DISTINCT NAME) as `unique name`
FROM
      table
GROUP BY
      date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...