Mysql 如何在没有分组依据的情况下使用计数?

Mysql 如何在没有分组依据的情况下使用计数?,mysql,sql,Mysql,Sql,我有一张这样的桌子。“科目”列的最后一位数字表示学期 滚 主题 1. MTMG1 2. MTMG3 2. CEMG3 3. MTMG1 3. CEMG3 4. PHSG3 5. MTMG3 5. CEMG3 加入一个子查询,查找第三学期至少有两门学科的考生 SELECT t1.Roll, t1.Subject FROM table AS t1 JOIN ( SELECT Roll FROM table WHERE RIGHT(Subject, 1) = '3' G

我有一张这样的桌子。“科目”列的最后一位数字表示学期

滚 主题 1. MTMG1 2. MTMG3 2. CEMG3 3. MTMG1 3. CEMG3 4. PHSG3 5. MTMG3 5. CEMG3
加入一个子查询,查找第三学期至少有两门学科的考生

SELECT t1.Roll, t1.Subject
FROM table AS t1
JOIN (
    SELECT Roll
    FROM table
    WHERE RIGHT(Subject, 1) = '3'
    GROUP BY Roll
    HAVING COUNT(*) > 1
) AS t2 ON t1.Roll = t2.Roll
WHERE t1.Subject = 'CEMG3'

加入一个子查询,查找第三学期至少有两门学科的考生

SELECT t1.Roll, t1.Subject
FROM table AS t1
JOIN (
    SELECT Roll
    FROM table
    WHERE RIGHT(Subject, 1) = '3'
    GROUP BY Roll
    HAVING COUNT(*) > 1
) AS t2 ON t1.Roll = t2.Roll
WHERE t1.Subject = 'CEMG3'

您可以使用子查询:

select r.* from registar r where r.subject = "CEMG3" where (select count(*) from registrar r1 where r1.roll = r.roll and right(subject, 1) = '3') > 1;

请参阅。

您可以使用子查询:

select r.* from registar r where r.subject = "CEMG3" where (select count(*) from registrar r1 where r1.roll = r.roll and right(subject, 1) = '3') > 1;

请参阅。

不能有两个
WHERE
子句。将它们与
组合。使用
右(主题,1)
获取最后一个字符。不能有两个
WHERE
子句。将它们与
组合。使用
右键(主题1)
获取最后一个字符。