比较来自两列的最高收入访客

时间:2019-04-19 02:58:51

标签: mysql sql

我的桌子上有某些列。

**table_1**
device_uuid          
visited_store_1      
visited_store_2     
income             
parent  

我想找出哪家商店中收入最高的10个人中的哪一家。 我可以考虑单独查找前10名,但如何将其加入查询中以进行比较并返回单个商店结果?

3 个答案:

答案 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结束