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进行计算,以获取第三列中的数据。