C# 选择当前日期并显示结果sql
我是个新手,不知道怎么做 我有SQUL服务器数据库,其中有许多日期的记录。是这样的:C# 选择当前日期并显示结果sql,c#,sql,C#,Sql,我是个新手,不知道怎么做 我有SQUL服务器数据库,其中有许多日期的记录。是这样的: id | run | date 1 | 12 | 02.22.2014 14:23:34 2 | 22 | 02.22.2014 18:20:25 3 | 05 | 02.22.2014 20:58:30 4 | 08 | 02.23.2014 08:28:44 5 | 10 | 02.23.2014 12:53:28 6 | 18 | 02.23.2014 14:23:34 我需要的
id | run | date
1 | 12 | 02.22.2014 14:23:34
2 | 22 | 02.22.2014 18:20:25
3 | 05 | 02.22.2014 20:58:30
4 | 08 | 02.23.2014 08:28:44
5 | 10 | 02.23.2014 12:53:28
6 | 18 | 02.23.2014 14:23:34
我需要的是给出一个所有日期的列表,不重复,并在列表框中显示它们,使用C语言中的winforms。例如,在本例中,我只需要2014年2月22日和2014年2月23日。在这种情况下,如果我选择2014年2月22日,我想计算这种情况下的平均“运行”为13,并将其显示在标签中
我应该使用什么查询,如何用日期填充列表框?
我在mysql上读到的是一个查询,比如WHERE-DATE'DATE'=CURDATE 此查询应包含以下内容:
select
avg(run)
from
tableName
group by DATEPART(year, [date])
,DATEPART(month, [date])
,DATEPART(day, [date])
然后你会得到这样的结果
13 02-22-2014
下一个平均值和日期等
然后将结果映射到列表框。要填充列表:
string sql = "SELECT DISTINCT CONVERT(VARCHAR, [DATE], 105) FROM TableName";
要获得平均值,请执行以下操作:
string sql = "SELECT AVG(run) FROM TableName WHERE CONVERT(VARCHAR, [DATE], 105) = @SelectedDate";
请检查不同日期/时间格式的转换。是否使用WPF?还是winforms?甚至像asp.net mvc这样的web?是的,我使用的是WinForms,您使用的是什么数据库引擎。SQL Server、oracle,。。。根据数据库引擎的不同,按日期分组有不同的函数。这是一个很好的答案,但是,您必须将第一个日期转换为日期,并在“分组依据”中转换,才能获得显示的结果。@paqogomez是的,这是真的。错过了那个答案。我更喜欢这个答案+1.希望我也能得到一些分数谢谢,我现在如何填充列表框?我要先创建一个对象列表吗?@user2962759是的,您可以将sql结果映射到一个对象,然后创建该对象的列表。然后将其映射到列表框中。然后,当选择列表框时,获取selecteditem并获取平均值并将其填充到标签/文本框中。如果你不知道如何填充列表框,你可以用谷歌搜索。有很多例子。
string sql = "SELECT AVG(run) FROM TableName WHERE CONVERT(VARCHAR, [DATE], 105) = @SelectedDate";