Mysql
 sql >> Database >  >> RDS >> Mysql

Come ordinare i risultati in base al timestamp tranne uno di essi?

È necessario unire la tabella a se stessa per determinare quale riga è la risposta accettata. Quindi le informazioni possono essere utilizzate in ORDER BY :

SELECT t.*
FROM Mytable t LEFT JOIN
     Mytable tans
     ON t.id = tans.AcceptedAnswerId
ORDER BY t.Type,
         (tans.id IS NOT NULL) DESC,
         t.timestamp