Я пробовал различные решения здесь, на сайте, но, к сожалению, мне это не удалось. Мне нужно, чтобы этот запрос, который уже принимает результаты с наивысшим значением поля "vote_up", также мог принимать второе дополнительное значение. Он собирает результаты в пределах заданной даты (posted_date), даты начала и даты окончания.
SELECT *
FROM stories S
LEFT JOIN categories C
ON C.category_id = S.c_id
LEFT JOIN (SELECT voted_story,
voter_ip
FROM votes
WHERE voter_ip = '$ip_address'
GROUP BY voted_story) V
ON V.voted_story = S.story_id
WHERE S.story_active = 1
ORDER BY S.vote_up DESC
LIMIT 0, 16
Добавляя просто для пояснения, моя трудность заключается в синтаксисе, который вызывает у меня ошибки, особенно я не знаю, как вставить два «где» в один и тот же запрос.






Вы также можете добавить дополнительные условия WHERE для проверки опубликованной даты.
SELECT *
FROM stories S
LEFT JOIN categories C
ON C.category_id = S.c_id
LEFT JOIN (SELECT voted_story, voter_ip
FROM votes
WHERE voter_ip = "$ip_address"
GROUP BY voted_story) V
ON V.voted_story = S.story_id
WHERE
S.story_active = 1 AND
S.posted_date > "$startDate" AND
S.posted_date < "$endDate"
ORDER BY S.vote_up DESC
LIMIT 0, 16
Ошибка синтаксического анализа: синтаксическая ошибка, непредвиденный '$ ip_address' (T_VARIABLE), ожидание ',' или ')'