选择中的mysql条件

时间:2012-12-07 08:10:50

标签: mysql

我的表:

id | elite | pos
1  |   0   |  9  
2  |   1   |  8
3  |   0   |  7
4  |   1   |  6
5  |   0   |  5
6  |   1   |  4
7  |   0   |  3
8  |   1   |  2
9  |   0   |  1
10 |   1   |  0

我有这个简单的查询

SELECT id, elite FROM tbl LIMIT 0, 5 ORDER BY pos DESC

它将返回id 1 2 3 4 5。随着时间的推移,这些价值观会发生变化结果必须始终为5,但如果结果中至少有一个idelite >= 1,则结果不得再包含id elite具有1值。因此,结果不得包含id多个elite >= 1

这可以在查询中吗?

1 个答案:

答案 0 :(得分:1)

您可以使用UNION组合两个查询,例如:

(SELECT * FROM tbl WHERE elite = 1 LIMIT 1)
UNION
(SELECT * FROM tbl WHERE elite = 0)
ORDER BY pos DESC LIMIT 5

它将提供您需要的结果。 查看UNIONs

的Mysql参考