Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择当前日期并显示结果sql_C#_Sql - Fatal编程技术网

C# 选择当前日期并显示结果sql

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 我需要的

我是个新手,不知道怎么做

我有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
我需要的是给出一个所有日期的列表,不重复,并在列表框中显示它们,使用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";