我有2个表注册(sid,年级,dname,cno,sectno)和 学生(sid,sname,sex,age,year,gpa)
我必须写一个查询,询问那些只有10个以上学生的学生的ids。
为什么这个查询没有给我正确的结果?
select student.sid
from student
where student.sid IN (select student.sid
from enroll
group by sectno, cno, dname
having count (distinct enroll.sid) > 10)
这个查询呢,它是否正确?
select distinct sid
from enroll e1
where 10 < (select count (*)
from enroll e2
where e2.sectno = e1.sectno
and e2.cno = e1.cno
and e2.dname = e1.dname)
order by sid
答案 0 :(得分:1)
有一个子查询,它返回小于10的部分的sectno
学生们。做出NOT IN
结果。
select distinct sid
from enroll
where sectno not in (select sectno
from enroll
group by sectno
having count(sid) < 10)
答案 1 :(得分:0)
尝试使用以下内容:
b.HasIndex(u => u.NormalizedUserName).HasName("UserNameIndex").IsUnique();
注意:请勿在此方案中使用public class MyContext : IdentityDbContext<Customer, CustomerRole, int>
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Customer>().HasIndex(i => new { i.NormalizedUserName, i.TenantId }).HasName("UserNameIndex").IsUnique();
}
}
。