У меня возникли проблемы с запросом sql, если кто-то может мне помочь, будет блестящим. Итак, у меня есть студентов, участников, курсов, мест, student_to_courses этих таблиц. Мне нужно, чтобы все студенты в частности, конечно, и я делаю с этим запросомполя запросов запросов mysql
select
s.name as student_name, c.name as course_name, p.name as place_name
from
student_to_courses s2c,
students_participation sp,
students s,
courses c,
places p
where
s.id = s2c.participation_id AND
s.id = sp.profile_id AND
c.id = s2c.course_id AND
p.id = c.place_id = p.id AND
s2c.course_id = 1
Вот sqlfiddle
, но мне нужно, чтобы подсчитать, сколько раз студент был в определенном месте, что-то вроде этого student_name, имя_курса, имя_пользователя, | 3 |. Теперь я делаю это с другим запросом, который я вызываю каждый раз в моем цикле. Но мне было интересно, есть ли способ сделать это только с одним запросом. Спасибо заранее всем, кто хотел бы мне помочь.
ничего себе, что быстро, да это должно работать, но есть еще одна вещь, которую я забыл, что нужно добавить к моим подсчетам только те, кто уже закончил курс так, когда я добавить UNIX_TIMESTAMP (c.end)
Я не уверен, что понял, хотите ли вы присоединиться к левому или сохранить внутреннее соединение и считать только некоторые. Если это второй, попробуйте выполнить 'SUM (CASE WHEN unix_timestamp (c.end)
что-то вроде этого, но не в slect http://sqlfiddle.com/#!2/6357b6/20 – Alex