当前位置: 首页 > 面试题库 >

MySQL Orderby一个数字,Null为最后

阙俊友
2023-03-14
问题内容

目前,我在声明中正在执行一个非常基本的OrderBy。

SELECT * FROM tablename WHERE visible=1 ORDER BY position ASC, id DESC

问题是“位置”的NULL条目被视为0。因此,所有位置为NULL的条目都出现在具有1,2,3,4的条目之前。例如:

NULL, NULL, NULL, 1, 2, 3, 4

有没有一种方法可以实现以下排序

1, 2, 3, 4, NULL, NULL, NULL.

问题答案:

MySQL具有未记录的语法,可以最后对null进行排序。在列名之前放置减号(-),然后将ASC切换为DESC:

SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC

从本质上讲,这与position DESC将NULL值最后放置相反,但与相同position ASC

一个很好的参考在这里http://troels.arvin.dk/db/rdbms#select-
order_by



 类似资料:
  • 我在创造一个小游戏。所以现在我有了一个只有5行的JTable。 单击按钮后,我希望保存表中的值。我的问题是,最后一个值每次都为null。 例 Val来自表:user1,user2,user3,user4,user5 预期输出:[user1,user2,user3,user4,user5] 输出:[user1,user2,user3,user4,null] 这就是我从表中获取数据的方式 可运行示例

  • 这看起来有点奇怪,因为orElse方法使用的变量不在lambda的范围内。我能知道最好的方法吗? 也许我应该说说为什么我选择了可选的。我希望我的团队的开发人员明白,即使字符串A是首选的,它可能是空的,并且必须处理,因为代码的这一部分是敏感的。字符串B仅用于记录的遗留部分。希望这能澄清我对这种方法的意图。

  • 这可能是非常基本的东西,但我很难弄清楚我哪里出错了。 我试图从帖子正文中获取一个字符串,但“jsonString”只显示为null。我还想避免使用模型,但这可能是不可能的。我与PostMan接触到的一段代码是: 也许这是我在postman上做得不正确的地方,但我一直在尝试在body-x-www-form-urlencoded部分的值部分使用“=test”(如在有关此主题的其他问题中看到的),键为j

  • 如何用jQuery得到最后一个数字?例如25.50如何得到最后50?如何得到第一个数字?例如25 多谢帮忙。快乐编码 例如,假设我有一个变量,它是25.50,好吗?我需要得到50,如果50=<50使它25我的意思是25.00如果50>50使它+1我的意思是26

  • 我是Java新手,我正在为TictaToe游戏实现一个游戏板。为了在游戏结束后清理棋盘,我尝试使用一种方法,使用两个嵌套循环将完全按照游戏开始时的方式重新放置棋盘。问题是,最后的单元格保持不变。这是我的代码: 输出: 我正在努力弄清楚为什么迭代器没有达到数组长度的位置[行][4]。我尝试递增索引,但这样int将迭代出界。这是目前唯一的工作方式: 每一个暗示都将非常感激。提前非常感谢。

  • 我正在工作的一个regex只允许在逗号前最多10个数字和逗号后最多3个数字。 到目前为止,我已经想出了这个: 我将验证JavaScript中的输入。 以下示例可作为用户输入: 1234567890,123 4,1 234,45 56457 输入必须始终以自然数字开头,并且只能出现逗号。