Sql 如何在GROUPBY子句中使用聚合函数
如何在像这样的GROUPBY子句中使用聚合函数Sql 如何在GROUPBY子句中使用聚合函数,sql,Sql,如何在像这样的GROUPBY子句中使用聚合函数 SELECT VCH_DCOA_CODE, SUM(VCH_DEFINATION.VCH_CREDIT) AS Debit FROM VCH_DEFINATION GROUP BY SUBSTRING(VCH_DCOA_CODE, 0, 6) 您必须在select子句中添加子字符串(VCH\u DCOA\u code,0,6),如下所示: SELECT SUBSTRING(VCH_DCOA_CODE, 0, 6), SUM(VCH_DEFIN
SELECT VCH_DCOA_CODE, SUM(VCH_DEFINATION.VCH_CREDIT) AS Debit
FROM VCH_DEFINATION
GROUP BY SUBSTRING(VCH_DCOA_CODE, 0, 6)
您必须在
select
子句中添加子字符串(VCH\u DCOA\u code,0,6)
,如下所示:
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)
您必须在
select
子句中添加子字符串(VCH\u DCOA\u code,0,6)
,如下所示:
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)
看起来您希望显示带有完整的
VCH\u DCOA\u代码的sum()
,但是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
子查询将为每个子字符串(VCH\u DCOA\u代码,0,6)
获取SUM()
,但随后将与每个完整的VCH\u DCOA\u代码一起显示
但是,如果不想显示完整的VCH\u DCOA\u代码
,则只需使用内部查询即可获得结果:
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)
看起来您希望显示带有完整的VCH\u DCOA\u代码的sum()
,但是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
子查询将为每个子字符串(VCH\u DCOA\u代码,0,6)
获取SUM()
,但随后将与每个完整的VCH\u DCOA\u代码一起显示
但是,如果不想显示完整的VCH\u DCOA\u代码
,则只需使用内部查询即可获得结果:
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)
您使用哪些RDBMS满足您的需求?子字符串(VCH\u DCOA\u code,0,6)
可以解析为多个VCH\u DCOA\u code
s,您希望显示哪一个?这在MySQL中应该可以工作,但在大多数其他RDBMS中失败;SELECT子句包含一个字段(VCH_DCOA_代码),该字段既不是常量,也不是聚合的,也不是包含在group子句中。您的需求使用了哪些RDBMS?子字符串(VCH_DCOA_代码,0,6)
可以解析为多个VCH_DCOA_代码
s,您希望显示哪一个?这在MySQL中应该可以工作,但在大多数其他RDBMS中失败;SELECT子句包含一个字段(VCH_DCOA_代码),该字段既不是常量,也不是聚合字段,也不是包含在group子句中。我认为op希望选择完整的VCH_DCOA_代码我认为op希望选择完整的VCH_DCOA_代码