在两列上选择具有范围条件的数据

时间:2013-08-13 13:17:35

标签: mysql

我的数据库中有一些文章

+------+--------------+----------+--------+
| id   | article_name | age_from | age_to |
+------+--------------+----------+--------+
| 1337 | article 1    | 30       | 60     |
+------+--------------+----------+--------+
| 1338 | article 2    | 16       | 35     |
+------+--------------+----------+--------+
| 1338 | article 3    | 26       | 28     |
+------+--------------+----------+--------+

用户可以在前端设置一些过滤器。他可以搜索为19岁至22岁的人们制作的文章。还有两个输入字段(Age from和age to)。数据库应该返回:

+------+--------------+----------+--------+
| id   | article_name | age_from | age_to |
+------+--------------+----------+--------+
| 1338 | article 2    | 16       | 35     |
+------+--------------+----------+--------+

我该怎么做?我不能用WHERE age_from >= 19 AND age_to <= 22来完成。

问候

1 个答案:

答案 0 :(得分:6)

翻转逻辑:

WHERE age_from <= 22
AND   age_to   >= 19

我最喜欢的解释这类问题,由Rudy Limeback(又名r937)提供:http://www.dbforums.com/6318776-post14.html