我的表格有如下数据......
现在我的下表中有18行......但收据号是相同的。
但我只需要显示唯一收据金额的总和。
PLZ帮我制作SQL查询。
SELECT SUM(Amount) FROM `receipt_entry` group by receipt_no,amount
receipt_no amount
10 100
10 100
10 100
10 100
10 100
10 100
11 100
11 100
11 100
11 100
11 100
11 100
12 100
12 100
12 100
12 100
12 100
12 100
SUM of Amount = 300
FOR以上前 - 我需要总和如下数量= 100 + 100 + 100 = 300
答案 0 :(得分:1)
在distinct
数据之前使用sum
子句。
这样做:
$query = "SELECT sum(amount) AS total_amount, receipt_no
FROM receipt_entry
GROUP BY receipt_no"
您可以从here
获取有关DISTINCT的更多详细信息
让我知道更多帮助!!
答案 1 :(得分:0)
您可以查看此查询:
SELECT SUM (A.AmountTotal) FROM (
SELECT SUM(DISTINCT amount) AS AmountTotal, receipt_no
FROM receipt_entry
GROUP BY receipt_no ) A
此块返回结果:
SELECT SUM(DISTINCT amount) AS AmountTotal, receipt_no
FROM receipt_entry
GROUP BY receipt_no
AmountTotal receipt_no
----------- ----------
100 10
100 11
100 12
再次添加块的总和,给出结果。
更新:
SELECT SUM(`AmountTotal`) FROM (
SELECT SUM(DISTINCT `amount`) AS AmountTotal, `receipt_no`
FROM `receipt_entry`
GROUP BY `receipt_no`) AS T1;
您可以查看此查询。
此方案的工作示例:SQL Fiddle