C# SQL:如何访问值(并忽略重复项)并按日期对其进行分组
我正在使用C.NET和NPGSQL与postgresql数据库交互。 目前,我的桌子看起来有点像这样:C# SQL:如何访问值(并忽略重复项)并按日期对其进行分组,c#,sql,database,postgresql,npgsql,C#,Sql,Database,Postgresql,Npgsql,我正在使用C.NET和NPGSQL与postgresql数据库交互。 目前,我的桌子看起来有点像这样: +----------------------------+ | worked_hours dates | +----------------------------+ | 0 01.08.2015 | | 0 01.08.2015 | | 0 01.08.2015 |
+----------------------------+
| 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天中的一天
我想对这个表做的是得到每天工作时间的总和
你知道我怎样才能做到这一点吗?你的问题似乎假定每天所有的值都是相同的。也许这不是一个合理的假设
select sum(worked_hours), dates
from table
group by dates
您需要得到不同的值,然后对它们求和。以下是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;
尝试以下操作-替换表名
select sum(worked_hours), CONVERT(VARCHAR,dates,101) AS [DateAdded]
from TableName GROUP by CONVERT(VARCHAR,dates,101)
在选择后使用GROUP BY column_name
您的表有2列吗?请展示一些你到目前为止尝试过的代码。它有6个,尽管其他的与我在这里尝试实现的目标无关。到目前为止,我也没有尝试过解决这个问题,因为我不知道该如何解决这个问题。我对编程相当陌生,两天前就开始处理数据库/表和sql。您能否确切地说明您想要实现什么,因为您的问题现在有点让人困惑。你只是想计算一天的工作时间吗?否则,这将成为一个问题,我正在尽我最大的努力让自己清楚,但我几乎不知道我在做什么,正如你可以肯定地告诉我的。我想分别返回每一天的工作时间。好的,那么每天工作时间列的总和。你的问题说明了一些完全不同的东西,所以也许你可以用新的词来表达清楚。你应该把你的答案贴在最近的一个帖子里。这给了我一个在行尾日期的语法错误。我忘了在我的日期栏中提到它,它也包含时间。这是为什么吗?我应该澄清一下,我给你看的只是一个例子。每一天都有不同的价值观,我只是想展示一下它的结构
SELECT column1, column2, ... , columnN
FROM table1
GROUP BY column2