子查询和分组依据:验证失败:输入“FROM”不匹配,期望<EOF>

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

我想通过将价格乘以我的设备数量来计算成本。

我的数据是这样的:

idnt_eqpm prx_tot_net prix_pump_ht
10954847 10 8

我想要这些数据:

idnt_eqpm cout_total CA idnt_eqpm_count
10954847 20 16 2

为此,有人告诉我必须使用WITH 语句和子查询。

首先我使用计数来计算每个设备的设备数量。

在我通过将价格乘以计数字段来计算成本之后。我尝试这个请求:

`SELECT
     idnt_eqpm ,
     prx_tot_net ,
     prix_pump_ht ,
     cout_total ,
     CA ,
    COUNT( idnt_eqpm ) AS  idnt_eqpm_count 
FROM (
    SELECT prix_pump_ht * idnt_eqpm_count as cout_total,
    prx_tot_net * idnt_eqpm_count as CA,
    idnt_eqpm_count 
    FROM  cat_fa_ca_equipement_bte_test 
) AS T

GROUP BY  
     prx_tot_net ,
     prix_pump_ht ,
     cout_total ,
     CA`

但是我有这个错误:

Validation failed: mismatched input 'FROM' expecting <EOF>

有人可以帮助我,我不知道如何使用带有聚合的子查询?

sql subquery string-aggregation
1个回答
0
投票

我认为使用聚合函数

sum()
count()
进行简单查询就可以解决问题:

select idnt_eqpm, sum(prx_tot_net)  as cout_total, 
                  sum(prix_pump_ht)  as CA,
                  count(idnt_eqpm) as idnt_eqpm_count
from cat_fa_ca_equipement_bte_test
group by idnt_eqpm
© www.soinside.com 2019 - 2024. All rights reserved.