SQL 枢轴还是自连接?
SQL pivot or self-join for this?
我有一个 table,事件,它有 2 列
事情)
- entityId:字符串
- 事件编号:整数
存在一行 ("foo", 42) 表示 ID 为 42 的事件发生在实体 "foo".
上
我想做的是从 table 中找出哪些事件 ID 没有为哪些实体注册。例如。数据:
"foo", 1
"foo", 2
"foo", 3
"bar", 1
"bar", 2
"baz", 3
应该产生这样的答案:
..... | 1 | 2 | 3
富|是 | y |y
酒吧|是 | y |n
巴兹| ñ | n |y
我环顾四周,看到了对枢轴和联接的引用。关于最佳行动方案的任何建议?
谢谢!
好的,我想这就是我需要的:
SELECT
entityId,
COUNTIF(eventId == 1) AS event1_count,
COUNTIF(event_id == 2) AS event2_count,
COUNTIF(event_id == 3) AS event3_count,
COUNTIF(event_id == 4) AS event4_count
FROM data
GROUP BY entityId;
我有一个 table,事件,它有 2 列 事情) - entityId:字符串 - 事件编号:整数
存在一行 ("foo", 42) 表示 ID 为 42 的事件发生在实体 "foo".
上我想做的是从 table 中找出哪些事件 ID 没有为哪些实体注册。例如。数据:
"foo", 1
"foo", 2
"foo", 3
"bar", 1
"bar", 2
"baz", 3
应该产生这样的答案:
..... | 1 | 2 | 3
富|是 | y |y
酒吧|是 | y |n
巴兹| ñ | n |y
我环顾四周,看到了对枢轴和联接的引用。关于最佳行动方案的任何建议? 谢谢!
好的,我想这就是我需要的:
SELECT
entityId,
COUNTIF(eventId == 1) AS event1_count,
COUNTIF(event_id == 2) AS event2_count,
COUNTIF(event_id == 3) AS event3_count,
COUNTIF(event_id == 4) AS event4_count
FROM data
GROUP BY entityId;