有条件的排序由两个字段

问题描述 投票:1回答:1

我有这个疑问:

SELECT 
     * 
FROM 
     PENDIENTESCOBRO 
ORDER BY 
     NPENDIENTE ASC
     , DFECHA

NPENDIENTE可以是负的或正数。我想,当这个领域是高于0,停止使用这个命令并采取ORDER BY DFECHA

我怎样才能做到这一点?

sql sqlite sql-order-by
1个回答
2
投票

这应该这样做:

SELECT *
FROM PENDIENTESCOBRO
ORDER BY
  CASE WHEN NPENDIENTE>0 THEN 1 ELSE NPENDIENTE END ASC,
  DFECHA

这是因为你可以在SQLite的顺序使用CASE espressions BY子句。我把情况使得所有正(> 0)NPENDIENTE值具有相同的顺序值...所以行,然后由DFECHA订购。

© www.soinside.com 2019 - 2024. All rights reserved.