Answer the question
In order to leave comments, you need to log in
How to sort by multiple fields at once?
Request:
SELECT events.id, events.name as event_name, events.date_start, events.date_end, events.country_id, events.description, events.day_1, events.day_2, events.month_1, events.month_2, events.year_1, events.year_2, countries.name as country_name, links.links, images.images, clusters.clusters FROM events
LEFT JOIN countries ON events.country_id = countries.id
LEFT JOIN (SELECT event_id, GROUP_CONCAT(link) as links FROM links GROUP BY event_id) AS links ON events.id = links.event_id
LEFT JOIN (SELECT event_id, GROUP_CONCAT(name) as images FROM images GROUP BY event_id) AS images ON events.id = images.event_id
LEFT JOIN (SELECT country_id as c_id, GROUP_CONCAT(name) as clusters FROM clusters GROUP BY c_id) AS clusters ON countries.id = c_id
WHERE (events.year_1 >= :year_1 && (events.month_1 >= :month_1 || events.month_1 IS NULL) && (events.day_1 >= :day_1 || events.day_1 IS NULL)) AND (events.year_1 <= :year_2 && (events.month_2 <= :month_2 OR events.month_2 IS NULL) && (events.day_2 <= :day_2 OR events.day_2 IS NULL))
ORDER BY events.day_1, events.month_1, events.year_1 desc
LIMIT 30
Answer the question
In order to leave comments, you need to log in
Wrap your query in a new Select query, and sort it again on the required fields.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question