【问题标题】:In SQL, can you specify a limit on a row condition?在 SQL 中,您可以指定对行条件的限制吗?
【发布时间】:2014-05-27 02:04:20
【问题描述】:

例如,一个表包含带有is_read 字段的消息。有没有办法使用LIMIT 说“给我这个表中的所有行,但我想限制is_readTRUE 的返回行数?”

编辑

对不起,我可能没有很好地解释这一点。我想要 is_read 为 FALSE 的所有行,但能够限制 is_read 为 TRUE 的返回行。我希望这更有意义?

【问题讨论】:

    标签: mysql sql limit conditional-statements where


    【解决方案1】:

    您可以将两个查询合并在一起,每个条件一个:

    SELECT * FROM theTable WHERE is_read = 'false'
    
    UNION ALL
    
    SELECT * FROM theTable WHERE is_read = 'true'
    LIMIT 42
    

    【讨论】:

      【解决方案2】:

      在两个这样的查询中使用UNION

      SELECT * FROM TableName WHERE is_read = 'false'
      UNION
      SELECT * FROM TableName WHERE is_read='true' limit 5
      

      【讨论】:

      • 啊哈!我不知道你能做到这一点。
      猜你喜欢
      • 2010-10-17
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      相关资源
      最近更新 更多