用于返回SUMS的SQL查询和按日期排序的计数

时间:2017-09-08 18:18:45

标签: sql sql-server

我有以下两个表格:

Table 1 Table 2

我想要做的是让查询返回PIT_VALORTOTAL,PIT_VOLUME的SUM以及每个日期的PED_IDPESSOA计数。到目前为止我所拥有的是:

SELECT SUM(PIT_VALORTOTAL) AS VALORTOTAL, SUM(PIT_VOLUME) AS VOLUME, COUNT(DISTINCT PED_IDPESSOA) AS PESSOA FROM PEDIDOS_ITENS INNER JOIN PEDIDOS ON PIT_IDPEDIDO = PED_ID;

它正确地返回总和和计数,但我不知道如何在每个日期分别得到这些。所以我拥有的是:

VALORTOTAL       | VOLUME             | PESSOA  |
49783.2000000    |       679780.360000|   11    |

我想要的是:

| DATE      | VALORTOTAL    | VOLUME     | PESSOA  |
| 2017-09-03| 1012,00       |       1209 |   12    |
| 2017-09-03| 2012,00       |       1450 |   10    |
| 2017-09-03| 3016,00       |       2500 |   20    | 
| 2017-09-03| 3016,00       |       3200 |   5     |
| 2017-09-03| 2016,00       |       4000 |   9     |

1 个答案:

答案 0 :(得分:2)

您只需要group by

SELECT PED_DATA, SUM(PIT_VALORTOTAL) AS VALORTOTAL, SUM(PIT_VOLUME) AS VOLUME,
       COUNT(DISTINCT PED_IDPESSOA) AS PESSOA
FROM PEDIDOS_ITENS pi INNER JOIN
     PEDIDOS p
     ON PIT_IDPEDIDO = PED_ID
GROUP BY PED_DATA
ORDER BY PED_DATA