【问题标题】:In SQL, can you specify a limit on a row condition?在 SQL 中,您可以指定对行条件的限制吗?
【发布时间】:2014-05-27 02:04:20
【问题描述】:
例如,一个表包含带有is_read 字段的消息。有没有办法使用LIMIT 说“给我这个表中的所有行,但我想限制is_read 是TRUE 的返回行数?”
编辑
对不起,我可能没有很好地解释这一点。我想要 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