- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉我的英语不好。希望你明白,我想要什么。
我想要像数据透视表这样的东西(希望它是正确的词)
例如我有一个包含两列的表:userid 和 domain
UserID Domain
1 | A
1 | B
1 | C
2 | A
2 | B
3 | A
2 | C
我想要的。我想要一个如下表,它按行提取差异
A B C
A 0 1 1
B 0 0 0
C 0 0 0
如何读取输出?
例如第一行(0,1,1)想象一下所有访问域 A 的用户(在我们的例子中是用户 1、用户 2 和用户 3)......所有域 A 访问者都在域 A 上(我想这很清楚)。也访问过域B?不,一个用户(在我们的例子中是用户 3)不在域 B 上。所以我们有一个 1。现在我们检查是否所有域 A 访问者都在域 C 上!在这里,我们还有不在域 C 上的用户。用户 1 和 2 在域 C 上,但用户 3 不在域 C 上,而是在域 A 上。所以我们必须再次写一个 1....
第二行 - 检查域 B 上的哪些用户。用户 1 和用户 2 在域 B 上。他们在哪里也在域 A 上?是的...两者...所以我们必须记下一个 0。用户 1 和用户 2 在域 B 上?是的...所以 0。在域 C 上?是的......两者......所以我们必须再次写一个零。
第三行 - 检查域 C在域 C 上,我们有访问者 1 和 2。他们都访问了域 A,所以我们有一个零...都访问了域 B?是的,也是零,最后一个条目很清楚,因为它们来自域 C.....
长话短说:我想提取每个域与其他域相比的所有独占访问者...
自从 2 天以来,我一直在为左连接和 case when 等等而苦苦挣扎......没有任何效果。
有没有人提出他们的建议?真的很有帮助。是的,我有 3 个以上的域。我有大约 200 个!
最佳答案
非常非常大的查询 :),但它正在工作
DROP PROCEDURE IF EXISTS dowhile;
CREATE PROCEDURE dowhile()
BEGIN
SELECT @domain_arr := CONCAT(GROUP_CONCAT(domain SEPARATOR ','),',') AS domain_arr FROM ( SELECT t1.domain FROM user_domain t1 WHERE 1 GROUP BY t1.domain ) AS tt;
DROP table IF EXISTS temp_table;
create temporary table temp_table (
domain VARCHAR(100) not NULL
);
SET @domain_arr_table= @domain_arr;
WHILE LOCATE(',', @domain_arr_table) > 0 DO
SET @domain = SUBSTRING(@domain_arr_table,1,LOCATE(',',@domain_arr_table) - 1);
SET @domain_arr_table= SUBSTRING(@domain_arr_table, LOCATE(',',@domain_arr_table) + 1);
SET @s= CONCAT('ALTER TABLE temp_table ADD COLUMN ',@domain,' TINYINT DEFAULT 0');
PREPARE stmt3 FROM @s;
EXECUTE stmt3;
END WHILE;
WHILE LOCATE(',', @domain_arr) > 0 DO
SET @domain = SUBSTRING(@domain_arr,1,LOCATE(',',@domain_arr) - 1);
SET @domain_arr= SUBSTRING(@domain_arr, LOCATE(',',@domain_arr) + 1);
SELECT @user_count := COUNT(*) FROM user_domain WHERE domain=@domain;
INSERT INTO temp_table (domain) VALUES (@domain);
SELECT @domains_should_be_1 := CONCAT(GROUP_CONCAT(domain SEPARATOR ','),',') FROM (SELECT domain FROM user_domain WHERE user_id IN (SELECT user_id FROM user_domain WHERE domain=@domain) GROUP BY domain HAVING COUNT(*) < @user_count) AS tt2;
WHILE LOCATE(',', @domains_should_be_1) > 0 DO
SET @domain_sb_1 = SUBSTRING(@domains_should_be_1,1,LOCATE(',',@domains_should_be_1) - 1);
SET @domains_should_be_1= SUBSTRING(@domains_should_be_1, LOCATE(',',@domains_should_be_1) + 1);
SET @s= CONCAT("UPDATE temp_table SET ",@domain_sb_1,"='1' WHERE domain='",@domain,"'");
SELECT @s;
PREPARE stmt3 FROM @s;
EXECUTE stmt3;
END WHILE;
END WHILE;
END;
call dowhile();
SELECT * FROM temp_table;
关于mysql - BigQuery 和 NOT IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50386033/
我有一个包含数据的表,其中在 A 列中我有一组重复的数据(一个接一个)。 我只想根据 A 列中的值(没有其他条件)选择每个组的第一行。请注意,我还希望为提到的新发现的行选择所有相应的列(我不想排除它们
我有一个包含 340GB 数据的表,但我们只使用了最后一周的数据。因此,为了最小化将这些数据移动到分区表或分片表的成本计划。 我对分片表和分区做了一些实验。我创建了分区表并加载了两天的数据(两个分区)
我想安排将数据从 GCS 存储桶加载到 BigQuery 表。如果我使用 bigquery-transfer 与调度及时的 bigquery-loads 的核心区别是什么? 最佳答案 它们是相同的。
我想安排将数据从 GCS 存储桶加载到 BigQuery 表。如果我使用 bigquery-transfer 与调度及时的 bigquery-loads 的核心区别是什么? 最佳答案 它们是相同的。
我想编写一个 BigQuery 命令行命令来检索 BigQuery 表的最后修改时间。我怎样才能做到这一点? 仅当 BigQuery 表的最后修改日期时间大于某个日期时间时,我才会使用它。 最佳答案
我似乎无法将任何数据从 Socrata 上传到 BigQuery。我收到“加载操作中的 BigQuery 错误:无法连接 BigQuery 服务器。”最初我得到的是 0 错误错误的限制。现在我已将 C
我正在尝试弄清楚是否可以从大查询中导出 hyperloglog 草图并在外部合并它们以进行基数估计。是否有可用的开源库可以轻松解析大型查询草图? 如果不是,是否有任何关于 biq 查询的 hyperl
这是我用作https://cloud.google.com/bigquery/docs/managing-tables#bigquery-copy-table-python的引用的代码: source
构建管道时,源是 BigQueryIO.Read,您会得到一组 TableRow 对象以供使用。 我基本上想对那些 TableRow 对象进行一些小的更改,然后使用 BigQueryIO.Write
BigQuery API Client Libraries 之间有什么区别?和 BigQuery Storage API Client Libraries ? 在 BigQuery Storage R
据我所知,将数据流式传输到 BigQuery 会导致重复行,正如这里提到的 https://cloud.google.com/bigquery/streaming-data-into-bigquery
我在 BigQuery Jobs API 中注意到复制任务: https://developers.google.com/bigquery/docs/reference/v2/jobs#resourc
https://cloud.google.com/bigquery/docs/reference/datatransfer/rest/ 我正在寻找“bigquery 数据传输服务”的 php 客户端库
我正在从 GCS 中的 CSV 文件到 BQ 执行一些 ETL,一切正常,除了日期。我的表中的字段名称是 TEST_TIME,类型是 DATE,所以在 TableRow 中我尝试传递一个 java.u
我已经阅读了 BigQuery 连接器的文档(https://support.google.com/360suite/datastudio/answer/6370296?hl=en)。 我想将自定义查
当两个不同的billing account下有两个project,并且有跨两个project的授权view时,view的查询费用由哪个billing account来计费? 场景:项目 A 包含使用项
所以我有一张购买表: 用户编号 购买时间 数量 我有一张网站上的用户事件表: 用户编号 位置 浏览时间 如何在不超过 purchase_time 的情况下将 purchases 表与 activiti
我有一个 unix 时间戳列,在我的 csv 文件中以毫秒表示。现在,当我将这些数据插入到我的 bigQuery 表中并查询它时,我得到了这个错误 bigQuery not supporting mi
我目前正在将 BigQuery 表提取到 Google Cloud Storage 中的分片 .csv 中——是否有任何方法可以对提取的行进行洗牌/随机化? GCS .csv 将用作 GCMLE 模型
我需要从数据流更新和删除 BigQuery 中的记录。数据来自 Pubsub,并带有标识操作插入、更新、删除 (I、U、D) 的标志。插入不是问题。 有更新和删除的建议吗? 最佳答案 Dataflow
我是一名优秀的程序员,十分优秀!