sql 有一个字段的不同计数的语句

sql having statement with distinct count of a field

我需要你的帮助 我如何将此 sql 解释为 linq:

SELECT  FK_ClassId, LectureDays
FROM tbl_TimeTables
WHERE (FK_ClassId = 11)
group by fk_classid, lecturedays
having count(distinct Period) < 7

任何帮助将不胜感激谢谢 蒂姆

应该是这样的 (group by id, count period, apply where clause, project result)

var query = from timetable in context.TimeTables
            where timetable.ClassId == classId
            group timetable by new
            {
                timetable.ClassId,
                timetable.Period
            } into groupings
            let counter = groupings
                .Select(p => p.Period)
                .Distinct()
                .Count()
            where counter < 7
            select new
            {
                ClassId = groupings.Key.ClassId,
                Days = from grouping in groupings
                       select grouping.LectureDays
            };

感谢您为我指明了正确的方向,抱歉我有一段时间没有回复了,实在是太忙了。 看了你的解决方案后,我有时间玩了,下面这个为我做了:

from t in Tbl_TimeTables 
where t.FK_ClassId == 11
        group t by new
        {
            t.FK_ClassId,
            t.LectureDays
        } into groupings
        let counter = groupings
            .Select(p => p.Period)
            .Distinct()
            .Count()
        where counter < 7
        select new
        {
            ClassId = groupings.Key.FK_ClassId,
            Days = (from grouping in groupings
                   select grouping.LectureDays).Distinct()
        }

我只需要将组按键更改为演讲日而不是句点,这将我得到的一系列结果删除为一个结果。 非常感谢丹