提问人:DE_Bytel 提问时间:11/7/2023 最后编辑:DE_Bytel 更新时间:11/7/2023 访问量:28
子查询和分组依据:验证失败:输入“FROM”不匹配,预期<EOF>
Subquery and group by : Validation failed: mismatched input 'FROM' expecting <EOF>
问:
我想通过将价格乘以我的设备数量来计算成本。
我的数据是这样的:
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>
有人可以帮助我,我不知道如何使用带有聚合的子查询?
答:
0赞
SelVazi
11/7/2023
#1
我认为使用聚合函数的简单查询可以解决问题: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
评论
0赞
DE_Bytel
11/7/2023
我不知道为什么我没有想到这一点,这样更简单。谢谢!
0赞
SelVazi
11/7/2023
很高兴我能帮:)
上一个:根据条件从表中获取 id
下一个:子查询和利用 WITH [重复]
评论