У меня есть запрос mysql.Mysql выбор диапазона дат от unixtime timestamp дает слишком много записей
Идея состоит в том, чтобы выбирать записи между диапазоном дат. Даты хранятся как временные метки unix. В приведенном ниже запросе я получаю гораздо больше записей, чем должен (из диапазона дат).
Я выбрал свой мозг, и я не могу видеть, где запрос идет не так. Другие поля выглядят корректно, просто потому, что я вышел из нужного диапазона дат.
SELECT
mdl_user_info_data.data,
mdl_user.firstname,
mdl_user.lastname,
mdl_grade_grades.itemid,
mdl_grade_items.itemname,
mdl_quiz.fcpd,
mdl_user_info_data.id,
mdl_grade_grades.timecreated AS DATE
FROM mdl_grade_grades
INNER JOIN mdl_user ON mdl_grade_grades.userid = mdl_user.id
INNER JOIN mdl_grade_items ON mdl_grade_grades.itemid = mdl_grade_items.id
INNER JOIN mdl_quiz ON mdl_grade_items.courseid = mdl_quiz.course
INNER JOIN mdl_user_info_data ON mdl_user.id = mdl_user_info_data.userid
INNER JOIN mdl_course ON mdl_grade_items.courseid = mdl_course.id
WHERE mdl_grade_grades.timecreated BETWEEN (FROM_UNIXTIME(1371704400) AND FROM_UNIXTIME(1371790800))
AND mdl_user_info_data.fieldid = 1
AND mdl_grade_items.itemname IS NOT NULL
AND mdl_course.category = 27
OR mdl_grade_items.itemname LIKE '%asa%'
GROUP BY mdl_user.firstname, mdl_user.lastname, mdl_grade_grades.timecreated