【问题标题】:MariaDB Select SUM wit Distinct in columnsMariaDB 在列中选择不同的 SUM
【发布时间】:2018-05-27 13:46:27
【问题描述】:

我有一个表“TABLE1”...在那个表中我有 2 列 InvoiceNumber 和 Total

当创建发票时创建类似

的行

InvoiceNumber     总计
1                           5.75
1                           5.75
1                           5.75
2                           3.25
2                           3.25
3                           9.99
3                           9.99
3                           9.99

当然还有很多其他列包含行详细信息...但 Total 列是发票的总额...

我需要获取列总计的 SUM,但在 invoicenumber 列上选择 DISTINC...

我希望我的解释现在更好! :)

非常感谢你!

老问题....

我有这种查询...但我不知道如何编写它以使其工作...有人可以帮助我吗?非常抱歉,如果我的英语不太好,请原谅...

SELECT
  SUM(1Z1.TotalStx) AS TotSTX,
  1Z1.Dept,
  1Z1.TrType,
  ItemDept.DeptNumber,
  ItemDept.VenteEncaisse
FROM
(SELECT DISTINCT 1Z1.InvoiceNumber)
JOIN ItemDept ON ItemDept.DeptNumber = 1Z1.Dept
WHERE Dept <> '0'
  AND DateHre >= '2017-11-01'
  AND DateHre <= '2017-11-30 23:59:59'
  AND ItemDept.VenteEncaisse = '1'
ORDER BY 1Z1.Id;

【问题讨论】:

  • 你想达到什么目的?什么是1Z1?一张桌子?解释您希望查询执行的操作。显示示例数据和预期结果。
  • 您在向我们展示 input 数据吗?或 输出 数据。我们需要看到两者。
  • 我找到了另一种方法来做我需要的事情,而且效果很好......我想说很多坦克来帮助我......!

标签: mysql mariadb


【解决方案1】:

如果您想要 InvoiceNumber 的 DISTINCT 值,那么您希望获得哪个 Dept、TrType 等?

让我们看看SHOW CREATE TABLE 1Z1。如果它显示PRIMARY KEY(InvoiceNumber),则没有歧义并且DISTINCT 是不必要的。如果这不是PK,那么你需要弄清楚如何处理歧义,然后再继续前进。

DateHre 在哪个表中?

【讨论】:

  • 我修改了我的问题并添加了更多详细信息...坦克为您提供帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 2022-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
相关资源
最近更新 更多