У меня есть таблица, которая дает мне оценку за экзамен с использованием функции подсчета.Мне нужно выполнить те же функции, чтобы сравнить, например, test1 с test2.
, чтобы найти первую оценку за экзамен, в которой я использую функцию счета, и выполнить добавление некоторых ограничений в предложении where, а затем группировать по имени пользователя,
Мне нужно сравнить этот счетчик со вторым счетчиком, который должен быть во втором операторе выбора, однако я не могу добавить оператор выбора в предложении Имеющий, и я не могу выполнить никаких операций над счетчиком в предложении где,Ниже приведена основная идея того, что у меня сейчас есть
SELECT ur.uno, COUNT(*)*5 as test1
FROM question q,
userresponse ur
WHERE q.eno = '1'
AND q.eno = ur.eno
AND q.qno = ur.qno
AND q.correctanswer = ur.response
AND test1 > (SELECT ur.uno, COUNT(*)*5
FROM question q1,
userresponse ur1
WHERE q1.eno = '3'
AND q1.eno = ur1.eno
AND q1.qno = ur1.qno
AND q1.correctanswer = ur1.response
GROUP BY ur.no)
GROUP BY ur.uno
Это мой первый подход, однако я получаю недопустимый идентификатор test1.Мой другой подход будет
select ur.uno, count(*)*5 as test1
from question q, userresponse ur
where q.eno = '1' and q.eno = ur.eno and q.qno = ur.qno and q.correctanswer = ur.response
group by ur.uno
having count(*)*5 > (select ur1.uno, count(*)*5 as test3
from question q1, userresponse ur1
where q1.eno = '3' and q1.eno = ur1.eno and q1.qno = ur.qno and q.correctanswer = ur.response
group by ur1.uno)
, но я получаю слишком много ошибок значений, какие-либо идеи?