首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL SUM + Distinct

SQL SUM + Distinct
EN

Stack Overflow用户
提问于 2015-01-21 11:10:10
回答 2查看 185关注 0票数 3

我想知道我用什么请求显示了不同客户端的金额之和,这些客户端没有重复sum函数,而且是不同的。

我使用的 :

代码语言:javascript
复制
SELECT DISTINCT id_721z, SUM(montant) AS somme_montant 
FROM `roue_ventes_cb` 
WHERE `date_transaction` between '2015/01/01' and '2015/01/21';

但结果显示不正确。我有这样的数据:

id_721z系列单体

代码语言:javascript
复制
1   |   15
1   |   15
2   |   22
2   |   22
2   |   22

我想显示total_montant = 37,但不是

id_721z系列单体

代码语言:javascript
复制
1   |   30
2   |   66
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-21 11:13:39

代码语言:javascript
复制
SELECT SUM(montant) AS somme_montant
FROM (
    SELECT DISTINCT id_721z, montant
    FROM `roue_ventes_cb`
    WHERE `date_transaction` between '2015/01/01' and '2015/01/21'
) AS t
票数 4
EN

Stack Overflow用户

发布于 2015-01-21 11:52:34

这将把所有不同的单体相加。但是,如果两个if具有相同的值,它将只计算一次。

代码语言:javascript
复制
SELECT id_721z, SUM(DISTINCT montant) AS somme_montant 
FROM `roue_ventes_cb` 
WHERE `date_transaction` between '2015/01/01' and '2015/01/21';

所以无论如何,我都会更喜欢米洛斯的答案。这是更安全和不安全的将有一个性能的罚款无论如何。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28065731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档