Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Sql server LinQ查询日期和分组依据的位置_Sql Server_Linq - Fatal编程技术网

Sql server LinQ查询日期和分组依据的位置

Sql server LinQ查询日期和分组依据的位置,sql-server,linq,Sql Server,Linq,嘿,我正在尽我最大的努力得到以下查询: SELECT Client, Code, COUNT(SessionID) AS Count FROM dbo.vw_TrackingAppsCompleteDistinctDate WHERE (Date > CONVERT(DATETIME, '2012-12-01 00:00:00', 102) AND Date < CONVERT(DATETIME, '2013-01-01 00:00:00', 102))

嘿,我正在尽我最大的努力得到以下查询:

SELECT     Client, Code, COUNT(SessionID) AS Count
FROM       dbo.vw_TrackingAppsCompleteDistinctDate
WHERE      (Date > CONVERT(DATETIME, '2012-12-01 00:00:00', 102) AND Date < CONVERT(DATETIME, '2013-01-01 00:00:00', 102))
GROUP BY   URL, Code, Client
ORDER BY   Client, Code

有什么建议吗?

我正在尝试使用分组创建相应的查询以供练习。我不能100%确定linq是否能让你得到你所希望的结果,因为我无法测试它

我想,
orderby
可能会有所不同,因为我不知道SQL是在分组之前还是之后对结果进行排序

var result = from record in dbo.vw_TrackingAppsCompleteDistinctDate
             where record.Date.CompareTo( new DateTime( 2012, 12, 1, 0, 0, 0 ) ) > 0
             where record.Date.CompareTo( new DateTime( 2013, 1, 1, 0, 0, 0 ) ) < 0
             group record by new { record.URL, record.Code, record.Client } into grp
             orderby grp.Key.Client, grp.Key.Code
             select new 
             {
                 Client = grp.Key.Client,
                 Code = grp.Key.Code,
                 Count = grp.Select( item => item.SessionID ).Count( )
             };
var result=来自dbo.vw\u跟踪AppsCompletedDistinctDate中的记录
其中record.Date.CompareTo(新的日期时间(2012,12,1,0,0,0))>0
其中record.Date.CompareTo(新的日期时间(2013,1,1,0,0,0))<0
按新的{record.URL,record.Code,record.Client}将记录分组到grp中
orderby grp.Key.Client,grp.Key.Code
选择新的
{
Client=grp.Key.Client,
代码=grp.Key.Code,
Count=grp.Select(item=>item.SessionID).Count()
};

使用SQL到LinQ转换器获得:

Dim query = From
              Vw_TrackingAppsCompleteDistinctDates In db.vw_TrackingAppsCompleteDistinctDates
            Where
              Vw_TrackingAppsCompleteDistinctDates.Date > CDate("2012-12-01 00:00:00") 
            And Vw_TrackingAppsCompleteDistinctDates.Date < CDate("2013-01-01 00:00:00")
            Group Vw_TrackingAppsCompleteDistinctDates By
              Vw_TrackingAppsCompleteDistinctDates.URL,
              Vw_TrackingAppsCompleteDistinctDates.Code,
              Vw_TrackingAppsCompleteDistinctDates.Client
            Into g = Group
            Order By Client, Code
            Select
              Client, Code, Count = CType(g.Count(Function(p) p.SessionID <> Nothing), Int64?)
Dim query=From
Vw_TrackingAppsCompletedDistinctDates在db中。Vw_TrackingAppsCompletedDistinctDates
哪里
Vw_TrackingAppsCompletedDistinctDates.Date>CDate(“2012-12-01 00:00:00”)
和Vw_Tracking Apps Completed DistinctDates.Date
我发现Linqpad在这些情况下非常宝贵,它能够显示为LINQ语句生成的SQL。
Dim query = From
              Vw_TrackingAppsCompleteDistinctDates In db.vw_TrackingAppsCompleteDistinctDates
            Where
              Vw_TrackingAppsCompleteDistinctDates.Date > CDate("2012-12-01 00:00:00") 
            And Vw_TrackingAppsCompleteDistinctDates.Date < CDate("2013-01-01 00:00:00")
            Group Vw_TrackingAppsCompleteDistinctDates By
              Vw_TrackingAppsCompleteDistinctDates.URL,
              Vw_TrackingAppsCompleteDistinctDates.Code,
              Vw_TrackingAppsCompleteDistinctDates.Client
            Into g = Group
            Order By Client, Code
            Select
              Client, Code, Count = CType(g.Count(Function(p) p.SessionID <> Nothing), Int64?)