Linq中针对此SQL查询的正确语法让我望而却步。我对此表示感谢。
SQL:
SELECT TOP 1 posdate
FROM dailypos
GROUP BY posdate
HAVING Count(DISTINCT customernumber) = 3
ORDER BY posdate DESC)
基本上,我从3个不同的客户那里获取文件,我需要一个快速的方法来确定我拥有来自所有3的数据的最新日期。我对不同的方法持开放态度,但这个SQL适用于我需要的东西
我可以做小组,但我不知道如何处理第4行(HAVING Count(Distinct ...))
提前致谢。
答案 0 :(得分:2)
尝试这样的事情:
var result = context.dailypos
.GroupBy(x => x.posdate)
.Where(g => g.Select(x => x.customernumber).Distinct().Count() == 3)
.Select(g => g.Key)
.OrderByDescending(x => x)
.Take(1);