从BigQuery表标准SQL计算百分比
如果有一个像上面这样的表格,我想计算有多少到达时间在预计到达时间内,例如,第一个和第三个在预计到达时间内,但第二个不在,所以我想计算百分比,或者说3个中有2个是准时的。在Bigquery标准SQL中如何执行此操作?计算与条件匹配的行数,然后除以总计数:从BigQuery表标准SQL计算百分比,sql,google-bigquery,Sql,Google Bigquery,如果有一个像上面这样的表格,我想计算有多少到达时间在预计到达时间内,例如,第一个和第三个在预计到达时间内,但第二个不在,所以我想计算百分比,或者说3个中有2个是准时的。在Bigquery标准SQL中如何执行此操作?计算与条件匹配的行数,然后除以总计数: | eta | arrived | +-------+------------+ | 06:47 | 07:00 | | 08:30 | 08:20 | | 10:30 | 10:38 | +---
| eta | arrived |
+-------+------------+
| 06:47 | 07:00 |
| 08:30 | 08:20 |
| 10:30 | 10:38 |
+-------+------------+
选择
100*计数(到达时间<预计到达时间)/计数(*)为准时百分比
从dataset.table
我颠倒了条件,因为我的理解是,您需要检查到达时间是否小于ETA。计算符合条件的行数,然后除以总计数:
| eta | arrived |
+-------+------------+
| 06:47 | 07:00 |
| 08:30 | 08:20 |
| 10:30 | 10:38 |
+-------+------------+
选择
100*计数(到达时间<预计到达时间)/计数(*)为准时百分比
从dataset.table
我改变了条件,因为我的理解是,您需要检查到达时间是否小于预计到达时间。一种方法是:
SELECT
100 * COUNTIF(arrived < eta) / COUNT(*) AS percent_on_time
FROM dataset.table
选择平均值(到达时的情况
如果您确实想要从0到100的数字,可以使用100.0
。一种方法是:
SELECT
100 * COUNTIF(arrived < eta) / COUNT(*) AS percent_on_time
FROM dataset.table
选择平均值(到达时的情况
如果您实际需要0到100之间的数字,可以使用100.0
我想。。。说“3人中有2人准时”
另一个“选择”
我想。。。说“3人中有2人准时”
另一个“选择”
Row summary
1 Out of 3, 1 were on time