Monday 12 November 2018

PHP MySQL Order by Two Columns

How do I sort a MySQL table by two columns?
What I want are articles sorted by highest ratings first, then most recent date. 
As an example, this would be a sample output (left # is the rating, then the article title, 
then the article date)
50 | This article rocks          | Feb 4, 2009
35 | This article is pretty good | Feb 1, 2009
5  | This Article isn't so hot   | Jan 25, 2009
The relevant SQL I'm using is:
ORDER BY article_rating, article_time DESC
I can sort by one or the other, but not both.

 Answers


Default sorting is ascending, you need to add the keyword DESC to both your orders:
ORDER BY article_rating DESC, article_time DESC



ORDER BY article_rating ASC , article_time DESC
DESC at the end will sort by both columns descending. You have to specify ASC 
if you want it otherwise



The following will order your data depending on both column in descending order.
ORDER BY article_rating DESC, article_time DESC

0 comments:

Post a Comment