有没有一种方法可以在SQL中进行合并ORDER BY
和合并,IS NULL
以便在该列不为null时可以按列排序,但如果为null,则可以由另一列来排序?
就像是:
ORDER BY CASE
WHEN Column1 IS NOT NULL THEN Column1
ELSE Column2
END
与写作相同:
ORDER BY COALESCE(Column1, Column2)
两者都可以在任何理智的RDBMS中使用。
问题内容: 我有这个清单: 我想使用方法按国家/地区名称对它们进行排序。如何做到这一点? 更新: 您能告诉我们如何比较它们以按字符串排序吗?阿根廷,奥地利,巴西等 问题答案: 有两种方法: 已落实定义一个接口 自然顺序 对你的对象,也就是使物体本身“知道”自己的排序。然后,您可以使用或仅从您的实现切换到类似的实现(如果不需要重复,则丢弃重复) 写一个来定义一个 强加的顺序, 然后调用 或(再次丢失
问题内容: 我想按(不修改日期时间)将其排序(不修改日期时间),否则按(不发布日期时间)排序 问题答案: 似乎我每周在这里就此给出3条建议,也许我应该放弃并放任它:-)不,我不这么认为: __ 如果希望数据库很好地扩展,请 不要 在列计算(或子句)中使用逐行函数。你应该为你的具体情况检查性能( 测量,不要猜测 ),但是当做计算 读取 数据库通常会影响你的能力,规模(这不会不管你的通讯录数据库,但我
我有一些对象的列表。我想先按一些属性和空值排序,比如在查询中: 我知道当我有字符串列表时,我可以这样做: 但是当我有一些类的对象列表时呢? 有什么建议我可以用java实现吗?
问题内容: 当我使用IN从表中选择一组行时,例如 有一种SQL技巧可以按照IN集合中给定的顺序恢复它们吗? 因此,在示例中,假设x具有ID为23、55、44和12的行,则将按该顺序返回这四行。 问题答案:
问题内容: 我正在尝试获取所有用户,并通过另一个表上的字段对他们进行排序,但是此字段并不总是存在吗? 用户-持有用户用户元-持有元数据,特别是“权重”,这是我要根据其排序的内容。 一个更具体的解决方案是自动为它们定义默认权重,但是无论如何,我可以使它不起作用吗?当前工作查询: 失去部分订单,任何/所有帮助将不胜感激! 问题答案: 如果您在表()之间具有关键关系,并且想要列出所有用户,则可以使用类似
我有一个针对Oracle数据库的规范top-N查询,这是所有常见问题解答和Howto建议的: 它在Oracle 11上运行良好,即它按内部选择中指定的顺序返回前N个记录。 然而,它在Oracle 12上中断。它仍然返回相同的前N个记录,但它们可能会被洗牌。这些记录的最终顺序是不确定的。 我在谷歌上搜索了一下,但没有找到任何相关的讨论。看起来其他人总是从这样的选择中获得正确的记录顺序。 不过有一个发