Can't SET variable in BigQuery | Error: Cannot coerce expression
Can't SET variable in BigQuery | Error: Cannot coerce expression
我正在尝试设置变量以便进一步操作。
但是当我在第 2 行设置我的第一个变量时 ("SET(new_user)=( "),我得到一个错误
Query error: Cannot coerce expression ( SELECT COUNT(*) FROM...
DECLARE new_user, total_user int64;
SET(new_user)=(
SELECT
COUNT(*)
FROM `projet.dataset.user`
WHERE timestamp BETWEEN '2022-02-09 19:13:00' AND CURRENT_TIMESTAMP()
);
SET(total_user)=(
SELECT
COUNT(*),
FROM `projet.dataset.user`
);
问题出在我使用 SET 的方式上,因为我的 SELECT 没有工作。
取决于您的实际需求 - 我看到解决问题的选项很少
选项 1
DECLARE new_user, total_user int64;
SET new_user=(
SELECT
COUNT(*)
FROM `projet.dataset.user`
WHERE timestamp BETWEEN '2022-02-09 19:13:00' AND CURRENT_TIMESTAMP()
);
SET total_user =(
SELECT
COUNT(*),
FROM `projet.dataset.user`
);
选项 2
DECLARE new_user, total_user int64;
SET(new_user)=(
SELECT AS STRUCT
COUNT(*)
FROM `projet.dataset.user`
WHERE timestamp BETWEEN '2022-02-09 19:13:00' AND CURRENT_TIMESTAMP()
);
SET(total_user)=(
SELECT AS STRUCT
COUNT(*),
FROM `projet.dataset.user`
);
我正在尝试设置变量以便进一步操作。
但是当我在第 2 行设置我的第一个变量时 ("SET(new_user)=( "),我得到一个错误
Query error: Cannot coerce expression ( SELECT COUNT(*) FROM...
DECLARE new_user, total_user int64;
SET(new_user)=(
SELECT
COUNT(*)
FROM `projet.dataset.user`
WHERE timestamp BETWEEN '2022-02-09 19:13:00' AND CURRENT_TIMESTAMP()
);
SET(total_user)=(
SELECT
COUNT(*),
FROM `projet.dataset.user`
);
问题出在我使用 SET 的方式上,因为我的 SELECT 没有工作。
取决于您的实际需求 - 我看到解决问题的选项很少
选项 1
DECLARE new_user, total_user int64;
SET new_user=(
SELECT
COUNT(*)
FROM `projet.dataset.user`
WHERE timestamp BETWEEN '2022-02-09 19:13:00' AND CURRENT_TIMESTAMP()
);
SET total_user =(
SELECT
COUNT(*),
FROM `projet.dataset.user`
);
选项 2
DECLARE new_user, total_user int64;
SET(new_user)=(
SELECT AS STRUCT
COUNT(*)
FROM `projet.dataset.user`
WHERE timestamp BETWEEN '2022-02-09 19:13:00' AND CURRENT_TIMESTAMP()
);
SET(total_user)=(
SELECT AS STRUCT
COUNT(*),
FROM `projet.dataset.user`
);