给出以下表格
用户信息:
User_trascations:
计算2020年1月1日的30天活动支出,计数(客户 在最近30天(即2020-01-01至2020-01-31)进行了至少一笔交易。
select
date(User_info.date) as date
, count(distinct User_trascations.user_id),
count(distinct User_info.user_id) as conversion
from User_info join User_trascations
on User_info.user_id = User_trascations.user_id
group by 1
如何获取最后一行的总数?在SQL中也是如此?
我已经尝试过了:
function fun<T>(a: T): {
touched: {
[key in keyof T]?: boolean;
}
values: T,
errors: any[],
updateField: () => void
} {
... // Do stuff with the inputs
}
答案 0 :(得分:1)
正如我在评论中说的,这是一个示例,可让您了解如何获得所需的结果。
SELECT
COALESCE(A.Date, 'Total') AS User_Date,
COUNT(DISTINCT(B.User_Id)) AS Total_Customers,
COUNT(DISTINCT(A.User_Id)) AS Customer_Purchases
FROM
USER_INFO A JOIN USER_TRASCATIONS B ON
A.User_Id = B.User_Id
GROUP BY
ROLLUP(A.Date)
Coalcece函数就像一个if / else。如果value为null(A.Date值),则它将返回传递的字符串('Total')。这就是您在结果末尾看到的文本(摘要)。
汇总功能与分组依据一起使用以定义结果组并在最后一行获取简历。