SQL 到 Linq 的等效语法

我需要帮助来编写以下 SQL 查询的 linq 语法。


企业是:从表中PhoneNumberClick_Table,我需要TotalCount,CountWithWhereCondition和CountWithUniqueValuedatewise:


SELECT 

    FORMAT([ClickTime], 'yyyy-MM-dd') DateTimeField,

    COUNT (*) CountTotalClick,

    COUNT ((CASE PhoneNumber WHEN 'NotProvided' THEN 1 ELSE NULL END)) CountNumberProvided,

    COUNT ((CASE PhoneNumber WHEN 'NotProvided' THEN NULL ELSE 1 END))  CountNumberNotProvided,

    COUNT (DISTINCT PhoneNumber) CountUniqueNumber

FROM 

    [dbo].[PhoneNumberClick_Table]

GROUP BY

    FORMAT([ClickTime], 'yyyy-MM-dd')

ORDER BY 

    FORMAT([ClickTime], 'yyyy-MM-dd') 


三国纷争
浏览 222回答 2
2回答

12345678_0001

使用 sum 而不是 count 作为 case 语句,您必须更改提供的电话号码的逻辑,而不是像我的查询那样提供的逻辑SELECT       FORMAT([ClickTime], 'yyyy-MM-dd') DateTimeField     ,COUNT (*) CountTotalClick      ,sum((case when  PhoneNumber is not null then 1 else 0 end)) CountNumberProvided      ,sum((case when  PhoneNumber= 'NotProvided' then 0 else 1 end))  CountNumberNotProvided      ,COUNT (DISTINCT PhoneNumber) CountUniqueNumber  FROM [dbo].[PhoneNumberClick_Table]  GROUP by FORMAT([ClickTime], 'yyyy-MM-dd')  ORDER BY FORMAT([ClickTime], 'yyyy-MM-dd')

慕尼黑5688855

尝试使用这个工具,我以前用过,对我来说效果很好,为了让这个工具最适合你,尝试分割你的查询,然后在转换后总结它们
打开App,查看更多内容
随时随地看视频慕课网APP