使用mysql按两个字段对结果排序

使用mysql按两个字段对结果排序,mysql,Mysql,现在我正试图从我的数据库中获取主题 topics ( `replied_at` int(11) unsigned DEFAULT NULL, `created_at` int(11) unsigned DEFAULT NULL, ) 我想按回复的主题或创建的主题进行排序,因为我想获取最新创建或回复的主题 例如: topic1: replied_at: NULL created_at: 1111 topic2: replied_at: 2222 created_at: 0001 to

现在我正试图从我的数据库中获取主题

topics (
  `replied_at` int(11) unsigned DEFAULT NULL,
  `created_at` int(11) unsigned DEFAULT NULL,
)
我想按回复的主题或创建的主题进行排序,因为我想获取最新创建或回复的主题

例如:

topic1:
replied_at: NULL
created_at: 1111

topic2:
replied_at: 2222
created_at: 0001

topic3:
replied_at: 3333
created_at: 1111
结果是:

专题3专题2专题1

mysql order by是否支持此查询

谢谢:)

编辑:

我使用此查询,但我得到了错误的顺序):

从主题中按最大顺序选择*描述限制3\G

使用

使用

或者,假设在处回复的
始终大于在
处创建的

select * from `topics`
         order by coalesce(`replied_at`,`created_at`,0) desc;
或者,假设在
处回复的
始终大于在
处创建的

select * from `topics`
         order by coalesce(`replied_at`,`created_at`,0) desc;

假设回复的值总是大于创建的值!!好主意:)谢谢,但是如果我使用这个查询,我如何添加索引?我是否应该为此排序创建一个新字段(最新更新)?假设回复的\u at始终大于创建的\u at!!好主意:)谢谢,但是如果我使用这个查询,我如何添加索引?我是否应该为此排序创建一个新字段(最新的\u更新)?
select * from `topics`
         order by coalesce(`replied_at`,`created_at`,0) desc;