sqlite 两表多条件计算比率

3pvhb19x  于 2023-02-13  发布在  SQLite
关注(0)|答案(1)|浏览(154)

表A

date        flight       airport                     
2012-10-01  oneway       ATL, GA
2012-10-01  oneway       LAX, CA
2012-10-01  oneway       SAN, CA
2012-10-01  oneway       DTW, MI
2012-10-02  round        SFO, CA

表B

date        temp         precip
2012-10-01   67           0.02
2012-10-01   65           0.32
2012-10-01   86           0.18
2012-10-01   87           0.04
2012-10-02   78           0.24

实际的表有超过10万行。
预期结果有温度和比率两列
对于每个临时,我试图获得航班=单程的比率,其中机场中有“CA”。我需要首先过滤沉淀平均值大于0.2的行,并将比率转换为整数。
我试着加入日期和组的温度是有平均precip〈0. 2,但我得到固定的错误值的比率。
我如何执行CTE或CASE WHEN合并这两个表以计算比率?
比率应为(所有过滤后每个温度下flight =“oneway”的所有行的总计数)/(总行数)

elcex8rz

elcex8rz1#

在下面的查询中,我通过它们的Date匹配以及以CA结尾的B.airport连接A和B记录,按温度分组。这样的对的总数是COUNT(*)除以的结果。除以的值是具有oneway航班的对中的项目数。It“有可能我没有完全理解这个问题,在这种情况下,我们可能需要把机场的标准从"地点”改为“时间”。

SELECT b.temp,
       SUM(
           CASE
               WHEN A.flight = 'oneway'
               THEN 1
               ELSE 0
           END
       ) / COUNT(*)
FROM A
JOIN B
ON A.`Date` = B.`Date` AND
   B.airport LIKE '%CA'
GROUP BY B.temp

相关问题