+----------+----------+------+---+---+---------+-----------------+
| data_date| user_id|region|sex|age|age_group|sum(duration_min)|
+----------+----------+------+---+---+---------+-----------------+
|2020-01-01|22600560aa| 1| 1| 28| 2| 0.0|
|2020-01-01|17148900ab| 6| 2| 60| 5| 1138.0|
|2020-01-01|21900230aa| 5| 1| 43| 4| 0.0|
|2020-01-01|35900050ac| 8| 1| 16| 1| 224.0|
|2020-01-01|22300280ad| 6| 2| 44| 4| 8.0|
|2020-01-02|19702160ac| 2| 2| 55| 5| 0.0|
|2020-02-02|17900020aa| 5| 2| 64| 5| 264.0|
|2020-02-02|16900120aa| 3| 1| 69| 6| 0.0|
|2020-02-02|11160900aa| 6| 2| 52| 5| 0.0|
|2020-03-02|16900290aa| 5| 1| 37| 3| 0.0|
+----------+----------+------+---+---+---------+-----------------+
%sql
WITH regs AS (
SELECT
user_id,
MIN(data_date) AS reg_date
FROM df2
GROUP BY user_id)
SELECT
month(reg_date) AS reg_month,
COUNT(DISTINCT user_id) AS users
FROM regs
GROUP BY reg_month
ORDER BY reg_month ASC;
%sql
WITH regs AS (
SELECT
user_id,
MIN(data_date) AS reg_date
FROM df2
GROUP BY user_id
),
regs_per_month AS (
SELECT
month(reg_date) AS reg_month,
COUNT(DISTINCT user_id) AS users
FROM regs
GROUP BY reg_month
)
SELECT
reg_month,
users,
LAG(users, 1) OVER (ORDER BY regs_per_month ASC) AS previous_users
FROM regs_per_month
ORDER BY reg_month ASC;
以下是错误消息
Error in SQL statement: AnalysisException: cannot resolve '`regs_per_month`' given input columns: [regs_per_month.reg_month, regs_per_month.users]; line 20 pos 31;
'Sort ['reg_month ASC NULLS FIRST], true
您可以简单地使用逗号在Spark SQL中嵌套公共表表达式,例如
%sql
;WITH regs AS (
SELECT
user_id,
MIN(data_date) AS reg_date
FROM df2
GROUP BY user_id
),
regs_per_month AS (
SELECT
month(reg_date) AS reg_month,
COUNT(DISTINCT user_id) AS users
FROM regs
GROUP BY reg_month
)
SELECT
reg_month,
users,
LAG(users, 1) OVER (ORDER BY reg_month ASC) AS previous_users
FROM regs_per_month
ORDER BY reg_month ASC;
如前所述,您的lag
语句应该引用reg_month
列,而不是regs_per_month
CTE。
作为嵌套CTE的另一种方式,您可以使用多个with
语句,例如
%sql
;WITH regs_per_month AS (
WITH regs AS (
SELECT
user_id,
MIN(data_date) AS reg_date
FROM df2
GROUP BY user_id
)
SELECT
month(reg_date) AS reg_month,
COUNT(DISTINCT user_id) AS users
FROM regs
GROUP BY reg_month
)
SELECT
reg_month,
users,
LAG( users, 1 ) OVER ( ORDER BY reg_month ASC ) AS previous_users
FROM regs_per_month
ORDER BY reg_month ASC;
我尝试将< code>bytea数据从一个表移动到另一个表,在一个查询中更新引用。 因此,我想从用于插入的查询中返回不用于插入的数据。 但我得到了一个查询错误: 我想做这样的事情: 但我无法获取用于插入的所有数据,我无法从子选择返回id。 我受到这个关于如何使用通用表表达式做到这一点的答案的启发,但我找不到一种方法来使它工作。
问题内容: 我想构建一个通用Web表单的后端,其中包含用户可以回答的问题。有多种类型的问题。 “普通”文本问题:通过一个简单的文本字段回答该问题。 示例 :一般的个人信息,例如姓名。 Textarea问题:相同,但是有更多的空间来写答案。 示例 :“您想要添加的更多信息”框。 多选题:带有一些预定义答案的问题,可以从中选择一个。 示例 :您对PHP的编程程度如何?[]不太好[]平均[]我已经写过这
问题内容: 假设我有一个通用接口: 和方法sort: 我可以调用此方法并将lambda表达式作为参数传递: 那会很好的。 但是现在,如果我将接口设为非泛型,并且将方法设为泛型: 然后像这样调用: 它不会编译。它在lambda表达式中显示错误: “目标方法是通用的” 好的,当我使用编译时,它显示以下错误: 从此错误消息看来,编译器似乎无法推断类型参数。是这样吗 如果是,那为什么会这样呢? 我尝试了各
我希望有一个通用的框架来编写一些正则表达式中的语法验证规则,这样我就可以在前端和后端都使用它们。我使用javascript作为前端,使用java作为后端。我想在前端做一个表单提交,但是在提交表单之前,我需要执行一些语法规则检查。当请求到达后端时,我希望评估相同的规则集。 我想把这些规则放在一个可以加载javascript和java代码的公共位置,这样我只需要更改这个公共位置的规则,它们就会反映到两
问题内容: 我正在使用带有SQL数据库的C#开发应用程序。 我有一个模型: 我想将其表示为表格。 表格的哪些正确字段? 问题答案: 这取决于该人与他将负责的其他人之间存在什么样的关系。 如果是父母与子女的关系,即 组成 关系,则可以使用自我参考表。就像是: 包含以下各列: , 。 相同表的外键。 如果一个人与其他人之间的关系是一个 集合 ,并且一个人可能对其他许多事情负责: , 。 : , , 。
问题内容: 如何使用查询获取SQL Server数据库中所有表的列表。我的意图是将其动态显示在网页上。 问题答案: 尝试: 这应该给您您想要的。然后,您需要从网页中调用它,以所需格式显示。 您可能要看: 如何使用C#在组合框中从数据库获取所有表的名称 可能会帮助您完成您想做的事情。 另外-您可能想看一下SQL Server:我应该在sys表上使用information_schema表吗? 用于sy