2013-06-23 41 views

回答

2

假设我已经理解了你的问题。如果你在两列想要订购依赖于价值,你可以通过使用条件操作的顺序,例如:

SELECT 
    * 
FROM Employee 
ORDER BY 
    CASE 
     WHEN login_time > logout_time THEN login_time 
     ELSE logout_time 
    END DESC 

然而理想,如果你想通过最后的“更新”记录命令。就我个人而言,我会重新审视数据库设计,并在更新值时获得填充的'DateUpdated'列,您可以直接按顺序进行排序。

+0

感谢@JBond,上面的查询工作正常时,都列login_time和logout_time有数据,但如果logout_time不填充然后记录顺序不正确显示。我试着将这条线放到WHEN login_time> logout_time或logout_time = 0 THEN login_time,但dint成功。你能否请你做必要的 – User12345

+0

我完美地通过追加WHEN login_time> logout_time或logout_time IS NULL然后login_time来完美实现它。非常感谢@JBond提供这样一个好主意.. – User12345

0
select * from Employee order by login_time desc 
+0

感谢@Polina,但如果logout_time将是最新的,然后上面的查询将不能给出正确的输出。我希望无论什么时候是最新的显示。 – User12345

+0

我显然误解了这个问题... –