У меня есть запрос, в котором курс (C1, C5, C9 ... и т. Д.) Должен отображать учетную запись пользователей со статусом DONE/NOT DONE/PENDING
. Обратите внимание, что курс может быть DONE/NOT DONE
или PENDING
:SQL Query :: CASE Условие
count(u.userid) ll.law_name ll.law_course ll.law_lesson ll.score ll.status
4 Berlyin C1 L1 6.05 Done
8 Berlyin C1 L1 NULL Not Done
4 Elance C9 L6 3.4 Done
7 Elance C9 L6 NULL Not Done
2 Indix C5 L12 5.5 Done
3 Indix C10 L3 NULL Not Done
SELECT count(DISTINCT(u.userid)), ll.law_name, ll.law_course, ll.law_lesson,
CASE WHEN ll.score >=0 THEN Done
WHEN ll.score <0 THEN Not Done
WHEN ll.score !=0 THEN pending END AS "status"
FROM
users u JOIN law_courses ll ON u.id = ll.userid GROUP BY ll.law_lesson
Ваше выражение при перекрытии. Первые два охватывают всю вселенную реалов (но не «нуль»), поэтому третий не имеет смысла. Пожалуйста, покажите примерные баллы и объясните правила для статуса. – Mat
Итак, в чем вопрос? – dotnetom
Я просто хочу показать статус урока для каждого курса с подсчетом количества выполненных в одной строке и не выполненного в одной строке и, наконец, Ожидание в одной строке – Saranya