MySQL:选择一种类型的行不超过X行
使用下表MySQL:选择一种类型的行不超过X行,mysql,Mysql,使用下表 some_table +----+-------------+------+ | id | some_column | type | +----+-------------+------+ | 1 | value | 1 | | 2 | value | 2 | | 3 | value | 1 | | .. | ... | ... | | .. | ... | ... | +----+----
some_table
+----+-------------+------+
| id | some_column | type |
+----+-------------+------+
| 1 | value | 1 |
| 2 | value | 2 |
| 3 | value | 1 |
| .. | ... | ... |
| .. | ... | ... |
+----+-------------+------+
我需要做出一个选择,以交付类型为1的所有行,但类型2的最大行数为2。一句话可以吗?只需使用
您可能希望在第二次查询中指定一些
ORDER BY
子句,否则不能保证您将得到type=2
中的哪两行您可以UNION
两个查询。@MattClark-此评论是针对另一个问题的吗?我误读了这个问题,虽然OP只寻找每种类型中的一种。
select id, some_column, type from some_table where type = 1
UNION
(select id, some_column, type from some_table where type = 2 limit 2)