このような GROUP BY 句内で集計関数を使用する方法は?
SELECT VCH_DCOA_CODE, SUM(VCH_DEFINATION.VCH_CREDIT) AS Debit
FROM VCH_DEFINATION
GROUP BY SUBSTRING(VCH_DCOA_CODE, 0, 6)
このような GROUP BY 句内で集計関数を使用する方法は?
SELECT VCH_DCOA_CODE, SUM(VCH_DEFINATION.VCH_CREDIT) AS Debit
FROM VCH_DEFINATION
GROUP BY SUBSTRING(VCH_DCOA_CODE, 0, 6)
sum()
完全ではVCH_DCOA_CODE
なく部分文字列の値を表示したいように見えるgroup by
ので、これが必要だと推測しています:
SELECT v1.VCH_DCOA_CODE, v2.Debit
FROM VCH_DEFINATION v1
INNER JOIN
(
select SUM(VCH_DEFINATION.VCH_CREDIT) AS Debit, SUBSTRING(VCH_DCOA_CODE, 0, 6) Shortcode
from VCH_DEFINATION
group by SUBSTRING(VCH_DCOA_CODE, 0, 6)
) v2
on v1.SUBSTRING(VCH_DCOA_CODE, 0, 6) = v2.Shortcode
サブクエリはSUM()
for eachを取得しますSUBSTRING(VCH_DCOA_CODE, 0, 6)
が、それはそれぞれのフルで表示されますVCH_DCOA_CODE
ただし、完全な を表示したくない場合はVCH_DCOA_CODE
、内部クエリを使用して結果を取得できます。
select SUM(VCH_DEFINATION.VCH_CREDIT) AS Debit, SUBSTRING(VCH_DCOA_CODE, 0, 6) Shortcode
from VCH_DEFINATION
group by SUBSTRING(VCH_DCOA_CODE, 0, 6)
以下のようSUBSTRING(VCH_DCOA_CODE, 0, 6)
に句に追加する必要があります。select
SELECT SUBSTRING(VCH_DCOA_CODE, 0, 6), SUM(VCH_DEFINATION.VCH_CREDIT) AS Debit
FROM VCH_DEFINATION
GROUP BY SUBSTRING(VCH_DCOA_CODE, 0, 6)