我现在有一个 SQL 查询,它生成一个如下所示的表:
这是查询:
SELECT
avg(cast(d.duration as bigint)) as "Demographic",
avg(cast(m.duration as bigint)) as "Month",
avg(cast(w.duration as bigint)) as "Week",
avg(cast(u.duration as bigint)) as "Usability",
avg(cast(s.duration as bigint)) as "Session"
FROM
"demographic" as d,
"month" as m,
"week" as w,
"usability" as u,
"session" as s
我想要的是一个如下所示的表格:
这可能吗?
最佳答案
使用UNION
获取不同行上的每个结果。
SELECT 'Demographic' AS Table, AVG(CAST(duration) AS BIGINT) AS `Average Duration` FROM demographic
UNION ALL
SELECT 'Month', AVG(CAST(duration) AS BIGINT) FROM month
UNION ALL
SELECT 'Week', AVG(CAST(duration) AS BIGINT) FROM week
UNION ALL
SELECT 'Usability', AVG(CAST(duration) AS BIGINT) FROM usability
UNION ALL
SELECT 'Session', AVG(CAST(duration) AS BIGINT) FROM session
关于mysql - SQL SELECT 多个表中列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66682862/