【问题标题】:count() with select计数()与选择
【发布时间】:2017-04-14 03:14:14
【问题描述】:

我有一个关于 spark 的镶木地板文件,我将其转换为一个包含三列的 tempTable,航班号、始发机场和起飞延误。未延误的航班在延误列中的值为 0(零),其余的有航班延误的分钟数。我想计算每个机场延误的航班百分比。

我试图做到这一点的一种方法是获取一个机场的总航班数,然后将该数字除以该机场延误的航班数。这是我正在使用的查询:

选择 Origin 作为 cur_origin,count(Origin) 作为 totalCount,(select count(*) FROM flightData WHERE Origin=cur_origin AND DepDelay>0) 作为delayCount FROM flightData GROUP BY Origin;

附:在上面的查询中,我没有将这两个数字分开,而只是试图显示它们以进行调试。

但是,这给了我错误:unresolved operator Aggregate Origin

谁能告诉我我做错了什么,或任何其他解决方案。

【问题讨论】:

    标签: mysql sql select count


    【解决方案1】:

    试试这个,虽然你可能会遇到 count(Origin) 问题,因为那是你按列分组的。

    select 
        Origin as cur_origin, 
        count(Origin) as totalCount, 
        sum(if(DepDelay > 0,1,0)) as delayedCount 
    FROM flightData 
    GROUP BY Origin
    

    【讨论】:

      猜你喜欢
      • 2012-06-07
      • 2012-03-05
      • 2020-12-14
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多