首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL:获取符合条件的行

MYSQL:获取符合条件的行
EN

Stack Overflow用户
提问于 2015-02-26 10:07:00
回答 1查看 54关注 0票数 2

我有一个表,其中包含了用户设置了最小年龄和最大年龄的用户。

表如下所示:

代码语言:javascript
复制
=========================================
| id | username | age | minAge | maxAge |
=========================================
| 1  | Clark    | 20  | 16     | 50     |
-----------------------------------------
| 2  | Kent     | 33  | 22     | 25     |
-----------------------------------------
| 3  | Bruce    | 45  | 18     | 25     |
-----------------------------------------
| 4  | Wayne    | 40  | 23     | 45     |
-----------------------------------------
  • 如果“Clark”登录,他会看到:“Bruce”。
  • 如果肯特登录,他会看到:“克拉克”,“韦恩”。
  • 如果布鲁斯登录,他会看到:“克拉克”,“韦恩”。
  • 如果“韦恩”登录,他会看到:“克拉克”。

没有人会看到‘肯特’,因为没有人在他的可见范围内。

像这样的东西会怎么样?

我看过这样的事情:

代码语言:javascript
复制
SELECT * FROM table_user WHERE age BETWEEN '16' AND '50';

但这当然是另一回事。

EN

回答 1

Stack Overflow用户

发布于 2015-02-26 11:22:45

这是年龄列上的join,使用between (或类似的逻辑)。目前的挑战是如何使这些表按正确的顺序排列:

代码语言:javascript
复制
select u.username, group_concat(tosee.user_name) as users_seen
from table_user u left join
     table_user tosee
     on tosee.age between u.minage and u.maxage and
        tosee.username <> u.username
group by u.username;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28739490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档