【问题标题】:MySQL Query, make ORDER BY rand() put a specific row in the bottomMySQL Query,使 ORDER BY rand() 将特定行放在底部
【发布时间】:2015-03-03 00:42:21
【问题描述】:

我有一个

ORDER BY rand() 

用于在我的表中选择随机行的 SQL 查询,是否有可能使其不会选择特定行?例如,如果我在表中有一个名为“Boolean”的列,并且我只想拥有

rand() 

选择“布尔”等于“1”的行,其余的放在底部,可以吗?

对不起,如果这是一个愚蠢的问题,或者我解释得不好,但我对 SQL 很陌生。

【问题讨论】:

    标签: php mysql sql random


    【解决方案1】:

    您可以使用order by

    order by (boolean = 1) desc,
             rand()
    

    order by 可以采用多个键值。第一个说首先使用boolean = 1 放置值。在数字上下文中,布尔表达式被视为数字,1 为真,0 为假。因此desc 是第一个表达式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      相关资源
      最近更新 更多