我有一个数据库,可以维护与我的应用程序的交互,这是一种日志类型。
我想生成一个月内每天总互动的报告。编写一个可以返回30个值的过程的最佳方法是什么,每个值代表一天的计数?
我正在使用SQL Server 2005.我在.NET代码中检索这些值,我想在其上运行我的算法。
感谢。
答案 0 :(得分:1)
您的SQL查询将如下所示。
select top 30 DATEPART(day, InteractionDate) as Day, COUNT(1) as Interactions from logTable group by DATEPART(day, InteractionDate)
在.NET中,您可以使用SqlDataReader并将值存储在List
中答案 1 :(得分:1)
存储过程通常返回结果集 - 您在此处想要的是存储过程中的简单SELECT语句。根据您使用的技术,您可以使用SqlDataReader
将数据恢复到您自己的结构中,或SqlDataAdapter
将其全部存储到DataSet
对象中。
所以我们把它分解为两个任务:(1)写一个SELECT
来产生你想要的数据,(2)在app / service中使用DR / DA来检索它。