php/mysql列的总和
试图找出为什么我无法获取列的总和。mysql中的列是Decimal(65,2)-不确定这是否会导致任何冲突,并且$signs已被删除,因为它们最初是从csv导入导出中删除的,但运行了replace,所有都已清除php/mysql列的总和,php,mysql,sum,Php,Mysql,Sum,试图找出为什么我无法获取列的总和。mysql中的列是Decimal(65,2)-不确定这是否会导致任何冲突,并且$signs已被删除,因为它们最初是从csv导入导出中删除的,但运行了replace,所有都已清除 $sql = "SELECT DISTINCT ContactId, Date, First_Name, Last_Name, Referral_Partner, Sale_Total, SUM(Sale_Total) AS sum_ttl FROM PTLS1117v2
$sql = "SELECT DISTINCT ContactId, Date, First_Name, Last_Name, Referral_Partner,
Sale_Total, SUM(Sale_Total) AS sum_ttl
FROM PTLS1117v2
WHERE Referral_Partner = '$refpart'
AND Date BETWEEN '$pdate' AND '$pdate2'";
首先,测试表:
CREATE TABLE `t` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`s` decimal(10,2) NOT NULL DEFAULT 0.00,
`t` varchar(10) NOT NULL DEFAULT 'xyzyy',
PRIMARY KEY (`id`);
填充它:
MariaDB [test]> insert into t(s,t) values ('10.00','xyz'),('20.00','xyz'),('30.00','xyz'),('40.00','xyz'),('50.00','xyz');
Query OK, 5 rows affected (0.00 sec)
MariaDB [test]> insert into t(s,t) values ('60.00','abc'),('70.00','abc'),('80.00','abc'),('90.00','abc'),('100.00','abc');
Query OK, 5 row affected (0.00 sec)
MariaDB [test]> select s,t from t;
+--------+-----+
| s | t |
+--------+-----+
| 10.00 | xyz |
| 20.00 | xyz |
| 30.00 | xyz |
| 40.00 | xyz |
| 50.00 | xyz |
| 60.00 | abc |
| 70.00 | abc |
| 80.00 | abc |
| 90.00 | abc |
| 100.00 | abc |
+--------+-----+
10 rows in set (0.00 sec)
使用DISTINCT
我得到以下结果:
MariaDB [test]> select distinct s,t,sum(s) from t where t='abc';
+-------+------+--------+
| s | t | sum(s) |
+-------+------+--------+
| 60.00 | abc | 400.00 |
+-------+------+--------+
1 row in set (0.00 sec)
如果您试图检索某个特定
推荐合作伙伴的所有行,并且总计,则必须使用两个查询—一个查询数据,一个查询总和。或者,在从表中检索行时计算总计您得到了什么输出,您期望得到什么?我从所有数据本身获得了完整的行输出,但在尝试显示总和时没有得到响应,并且尝试了各种显示方法。只是希望Sale_Total列的总和能够显示日期和所选推荐合作伙伴的所有购买。Sale_Total显示的很好,但不是总数,甚至试图单独显示,并且只有ContactId,但没有运气。听起来不错。在这里发布之前,尝试作为一个单独的查询运行,并且是一个独立的简单查询,没有明确的想法,这就是问题所在-但是运气不好,将更多地使用它。谢谢