Tsql 表中的部分和
我遵循了下表:Tsql 表中的部分和,tsql,Tsql,我遵循了下表: 2016-01 111.00 100.00 2016-01 111.00 11.00 2016-02 222.00 100.00 2016-02 222.00 100.00 2016-02 222.00 22.00 2016-01 333.00 200.00 2016-01 333.00 133.00 我需要
2016-01 111.00 100.00
2016-01 111.00 11.00
2016-02 222.00 100.00
2016-02 222.00 100.00
2016-02 222.00 22.00
2016-01 333.00 200.00
2016-01 333.00 133.00
我需要:
2016-01 444.00
2016-02 222.00
如何接收这些数据?按时段求和,但只求不同的值?使用Sum()
和distinct
SELECT DateColName ,SUM(DISTINCT ColName)
FROM TABLENAME
GROUP BY DateColName
将SUM()
与DISTINCT一起使用
SELECT DateColName ,SUM(DISTINCT ColName)
FROM TABLENAME
GROUP BY DateColName
SUM()
重新创建您的测试用例:
sqlite> CREATE TABLE money(month TEXT, q1 FLOAT, q2 FLOAT);
sqlite> INSERT INTO money VALUES('2016-01','111.00','100.00');
sqlite> INSERT INTO money VALUES('2016-01','111.00','11.00');
sqlite> INSERT INTO money VALUES('2016-02','222.00','100.00');
sqlite> INSERT INTO money VALUES('2016-02','222.00','100.00');
sqlite> INSERT INTO money VALUES('2016-02','222.00','22.00');
sqlite> INSERT INTO money VALUES('2016-01','333.00','200.00');
sqlite> INSERT INTO money VALUES('2016-01','333.00','133.00');
检查数据是否与您的相同:
sqlite> SELECT * FROM money;
2016-01|111.0|100.0
2016-01|111.0|11.0
2016-02|222.0|100.0
2016-02|222.0|100.0
2016-02|222.0|22.0
2016-01|333.0|200.0
2016-01|333.0|133.0
运行查询:
sqlite> SELECT month, SUM(DISTINCT q1) FROM money GROUP BY month;
2016-01|444.0
2016-02|222.0
SUM()
重新创建您的测试用例:
sqlite> CREATE TABLE money(month TEXT, q1 FLOAT, q2 FLOAT);
sqlite> INSERT INTO money VALUES('2016-01','111.00','100.00');
sqlite> INSERT INTO money VALUES('2016-01','111.00','11.00');
sqlite> INSERT INTO money VALUES('2016-02','222.00','100.00');
sqlite> INSERT INTO money VALUES('2016-02','222.00','100.00');
sqlite> INSERT INTO money VALUES('2016-02','222.00','22.00');
sqlite> INSERT INTO money VALUES('2016-01','333.00','200.00');
sqlite> INSERT INTO money VALUES('2016-01','333.00','133.00');
检查数据是否与您的相同:
sqlite> SELECT * FROM money;
2016-01|111.0|100.0
2016-01|111.0|11.0
2016-02|222.0|100.0
2016-02|222.0|100.0
2016-02|222.0|22.0
2016-01|333.0|200.0
2016-01|333.0|133.0
运行查询:
sqlite> SELECT month, SUM(DISTINCT q1) FROM money GROUP BY month;
2016-01|444.0
2016-02|222.0
看起来您正在连接两个表以获取此数据集?如果是这样,您可以在加入之前对日期值的第二列进行SUM
GROUP
ed,以获取第三列中的数据。看起来您正在加入两个表以获取此数据集?如果是这样,您可以在加入之前对日期值的第二列SUM
GROUP
ed进行计算,以获取第三列中的数据。