0
でGROUP_CONCATを使用する私は、このクエリがありますどのように私のmysqlの
select IF(user_name IS NULL or user_name= '', distinct_id, user_name)
as user_info, event, count(event) as event_count
from mixpanel
where
(mixpanel.event = 'app_open' or
mixpanel.event = 'post_created' or
mixpanel.event = 'create_comment' or
mixpanel.event = 'class_opened' or
mixpanel.event = 'post_read')
AND
class_id = 'AKSJSDKSD'
group by event, user_name, distinct_id
order by user_name desc
をし、それは私に次のような結果与える:私は必要なもの
+-----------+------------+--------+
| user_info | event | event_count |
+-----------+------------+--------+
| Ben Cho | up | 12 |
| Lee Mar | up | 21 |
| Lee Mar | side | 12 |
| Lee Mar | down | 16 |
| Al Gov | up | 14 |
| Al Gov | down | 13 |
| Al Gov | side | 13 |
+-----------+------------+--------+
はそうのような各ユーザーのデータを集約することです。
+-----------+------------+--------+
| user_info | up | down | side
+-----------+------------+--------+
| Ben Cho | 12 | 0 | 0 |
| Lee Mar | 21 | 16 | 12 |
| Al Gov | 14 | 13 | 13 |
+-----------+------------+--------+
これをmySqlでどのように達成できますか?
ありがとうございました!
これは 'group_concat'では達成されません。私が理解しているように、ピボット操作をしています。私は、MySQLでそれを自動的に行う方法があるかどうかはわかりません。あなたもマニュアルを読むことができます(そして私は調べるために持っていなければなりません)。 –
します。素早い応答のためにありがとう@JonathanLeffler –