Search code examples
mysqlsql-order-by

MySQL query order by multiple items


Is it possible to order by multiple rows?

I want my users to be sorted by last_activity, but at the same time, I want the users with pictures to appear before the ones without

Something like this:

SELECT some_cols
FROM `prefix_users`
WHERE (some conditions)
ORDER BY last_activity, pic_set DESC;

Solution

  • SELECT some_cols
    FROM prefix_users
    WHERE (some conditions)
    ORDER BY pic_set DESC, last_activity;
    

    Note that we can place ASC or DESC after each column (like above does for pic_set), or leave it to default (like above's last_activity-column).