我有一张桌子: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
数字?
答案 0 :(得分:4)
您可以使用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