Как включить конкретную запись в результат запроса MySQL

0

Вот мой запрос MySQL.

SELECT * FROM myschool.term_reports
where class = 4 and term = 2 and year = 2018 and studentid = '19' or subject_id = 31
order by score
limit 6;

Теперь результат не включает subject_id 31, потому что оценка не входит в число лучших 6 предметов. Однако subject_id 31 является ключевым предметом, и он должен быть включен в список лучших. 6. Как я могу добавить его к результату?

Изображение 174551

  • 0
    Что вы подразумеваете под best 6 subjects ?
  • 0
    Используйте фигурные скобки с условием AND и OR
Показать ещё 2 комментария
Теги:

2 ответа

0

Попробуйте это. Пожалуйста, дайте мне знать, если какая-либо проблема, поскольку я не тестировал

SELECT * FROM myschool.term_reports
WHERE class = 4
    AND term = 2
    AND year = 2018
    AND studentid = '19'
    OR subject_id = 31
ORDER BY CASE WHEN subject_id = 31 THEN 0 ELSE score END limit 6;
  • 0
    С помощью приведенных выше данных я получаю результат для SELECT * FROM term_reports ГДЕ form_class = 4 AND term = 2 AND year = 2018 и student_id = '115' OR subject_id = 31 ORDER BY CASE WHEN subject_id = 31 THEN 0 ELSE оценка END LIMIT 6 ;
  • 0
    Это все еще возвращает только один результат. Один с subject_id 31. Я хочу, чтобы этот результат был добавлен к другим 5 лучшим предметам.
Показать ещё 11 комментариев
0

Попробуйте это. Пожалуйста, дайте мне знать, если какая-либо проблема, поскольку я не тестировал

SELECT * FROM myschool.term_reports
where class = 4 and term = 2 and year = 2018 and studentid = '19' and subjectid=31
union
SELECT * FROM myschool.term_reports
where class = 4 and term = 2 and year = 2018 and studentid = '19' 
order by score
limit 5;
  • 0
    @bingi. Это приносит только один результат. Тот, с subject_id 31.
  • 0
    @ JohnMilo-проверьте отредактированный ответ
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню