SQL中没有数据过滤

问题描述 投票:0回答:0

为什么添加'country_id'约束后记录数会增加?

我的第一个请求。此处显示 30 个条目:


    SELECT 
    app_id,
    sum(installs)
    from application.app
    JOIN sales.app_total ON sales.app_total.app_id = application.app.id
    where sales.app_total.date BETWEEN '2023-05-01' AND '2023-05-07'
    AND application.app.app_market_id = 4
    and country_id = 100
    group by app_id
    HAVING CAST ((sum(sales.app_total.revenue_usd) * 0.2) / 1 AS FLOAT) >= 0 
    and CAST((sum(sales.app_total.revenue_usd) * 0.2) / 1 AS FLOAT) <= 0

我的第二个要求。此处显示 8 个条目:


   SELECT 
   sum(installs)
   from application.app
   JOIN sales.app_total ON sales.app_total.app_id = application.app.id
   where sales.app_total.date BETWEEN '2023-05-01' AND '2023-05-07'
   AND application.app.app_market_id = 4
   group by app_id
   HAVING CAST ((sum(sales.app_total.revenue_usd) * 0.2) / 1 AS FLOAT) >= 0 
   and CAST((sum(sales.app_total.revenue_usd) * 0.2) / 1 AS FLOAT) <= 0

更新:表 app_total enter image description here

整个问题始于条件“and revenue_usd = 0”在下一个请求中不起作用。它把所有的字段加起来,甚至包括那些有收入的字段。有什么想法吗?

select country_id, sum(installs), sum(revenue_usd) as rev
from sales.app_total
join application.app on application.app.id = sales.app_total.app_id
where date = '2023-05-01'
and application.app.app_market_id IN (4)
and revenue_usd = 0
group by country_id
sql postgresql sqlalchemy request having
© www.soinside.com 2019 - 2024. All rights reserved.