Group by 带子查询的DISTINCT或GROUP BY
你好,我有这个问题:Group by 带子查询的DISTINCT或GROUP BY,group-by,subquery,distinct,Group By,Subquery,Distinct,你好,我有这个问题: SELECT DISTINCT a.id, a.runcd, (SELECT SUM(b.CALVAL) FROM GRS b WHERE b.PCode=11000 AND a.id = b.id AND a.runcd=b.runcd) AS qval FROM GRS a WHERE a.crt = k04 这是一样的吗 SELECT a.id, a.runcd, (SELECT SUM(b.CALVAL) FROM GRS b WHERE b.PCode
SELECT DISTINCT a.id, a.runcd,
(SELECT SUM(b.CALVAL) FROM GRS b
WHERE b.PCode=11000
AND a.id = b.id
AND a.runcd=b.runcd) AS qval
FROM GRS a
WHERE a.crt = k04
这是一样的吗
SELECT a.id, a.runcd,
(SELECT SUM(b.CALVAL) FROM GRS b
WHERE b.PCode=11000
AND a.id = b.id
AND a.runcd=b.runcd) AS qval
FROM GRS a
WHERE a.crt = k04
GROUP BY id,runcd
到目前为止,这返回了相同的结果,但我不知道这是否是正确的选择。谢谢大家! 对于这个特定的查询,无论数据库供应商如何,它们的行为都将完全相同(至少我想不出使用mysql、sql server、postgres或oracle进行此查询有任何问题)。对于这个特定的查询,无论数据库供应商如何,它们的行为都将完全相同(至少我想不出使用mysql、sql server、postgres或oracle进行此查询有任何问题)
groupby
允许您使用聚合函数,如AVG
,MAX
,MIN
,
SUM
,COUNT
等,而DISTINCT
只是删除重复项
见在您的情况下,即使您使用子查询,它也会给您相同的结果,因为您只检索
SUM(b.CALVAL)
groupby
允许您使用聚合函数,如AVG
,MAX
,MIN
,
SUM
,COUNT
等,而DISTINCT
只是删除重复项
见在您的情况下,即使您使用子查询,它也会给您相同的结果,因为您只检索
SUM(b.CALVAL)
哪种SQL?例如MySQL、SQL Server等。哪种SQL?例如MySQL、SQL Server等。