我正在使用C#.NET和NPGSQL与postgresql数据库进行交互。 目前,我的表看起来有点像这样:
+----------------------------+
| worked_hours dates |
+----------------------------+
| 0 01.08.2015 |
| 0 01.08.2015 |
| 0 01.08.2015 |
| .... ..... |
| 3.83 |
| 3.83 |
| 3.83 |
| .... |
| 4.79 |
| 4.79 .... |
| 4.79 01.08.2015 |
| .... .... |
+----------------------------+
这只是30天内的1天。
我想用这张桌子来获得每天工作时数的总和
你知道我怎么能做到这一点吗?
答案 0 :(得分:1)
您的问题似乎假设每天的所有值都相同。也许这不是一个合理的假设。
您需要获取不同的值,然后对它们求和。这是Postgres中的一种方法:
select sum(worked_hours)
from (select distinct on (date) t.*
from table t
order by date
) t;
另一种方法可能是对每天的平均值求和:
select sum(avgwh)
from (select date, avg(worked_hours) as avgwh
from table t
group by date
) t;
答案 1 :(得分:1)
在GROUP BY column_name
SELECT
SELECT column1, column2, ... , columnN
FROM table1
GROUP BY column2
答案 2 :(得分:0)
select sum(worked_hours), dates
from table
group by dates
答案 3 :(得分:0)
尝试下面的内容 - 替换表名。
select sum(worked_hours), CONVERT(VARCHAR,dates,101) AS [DateAdded]
from TableName GROUP by CONVERT(VARCHAR,dates,101)