我的桌子上有某些列。
**table_1**
device_uuid
visited_store_1
visited_store_2
income
parent
我想找出哪家商店中收入最高的10个人中的哪一家。 我可以考虑单独查找前10名,但如何将其加入查询中以进行比较并返回单个商店结果?
答案 0 :(得分:0)
with dat as (
select
'store1' name,
avg(income) avg_income,
sum(income) total_income
from table_1
where visited_store_1 = TRUE
order by income desc
limit 10
union all
select
'store2' name,
avg(income) avg_income,
sum(income) total_income
from table_1
where visited_store_2 = TRUE
order by income desc
limit 10
)
select name
from dat
order by avg_income desc
limit 1
我只是不知道对“收入最高的10个人”使用什么指标;我在最终查询中使用了平均值,但是子查询同时具有两者。
答案 1 :(得分:0)
创建表#temp(访问者int) 插入#temp 选择max(访客)作为shop1的访客 联盟 选择max(visitor)作为shop2的访客
从#temp中选择max(访客)
答案 2 :(得分:0)
选择情况,当(max(a.visitor)> = max(b.visitor))然后max(a.visitor)否则max(b.visitor)从shop1 a,shop2 b结束