Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день. Не судите строго, я чайник в данном деле еще, могу задавать глупые вопросы.
Проблема такая.
Есть задача, в которой нужно сделать три группы студентов. В одной из них должны быть отобраны те студенты, которые сначала ответили "верно", а потом по этому же шагу "неверно". То есть, (result, LEAD(result)...) = ('correct', 'wrong'). Говорят, что его нужно прописать в условии, но так не принимает.
WITH one1 (stud, step1)
AS(SELECT student_name, count(step_id)
FROM student JOIN step_student USING(student_id)
WHERE(result, LEAD(result)) = ('correct', 'wrong'))
Хочу прописать тогда как одно из полей, как оконную, но не знаю как реализовать и будет ли это условие вообще учитываться.
Спасибо.
Неактивен
приведите пример тестовых данных на десяток строк (в виде create table.. и insert into..) и какой должен быть результат на этих данных
Неактивен
1. Обратите внимание, оконная функция должна содержать часть OVER, которая указывает, как разбить строки запроса на группы для обработки оконной функцией.
2. WITH one1 (stud, step1)
AS(SELECT student_name, count(step_id)
FROM student JOIN step_student USING(student_id)
WHERE(result, LEAD(result)) = ('correct', 'wrong'))
должен указываться с последующим оператором, например, SELECT
3. и укажите вашу версию MySQL
Неактивен