gpt4 book ai didi

php - MYSQL:获取符合条件的行

转载 作者:行者123 更新时间:2023-11-29 03:32:20 24 4
gpt4 key购买 nike

我有一个包含用户的表格,他们在其中设置了他们想要显示的最小年龄和最大年龄。

表格如下所示:

=========================================
| 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”。
  • 如果“Kent”已登录,他将看到:“Clark”、“Wayne”。
  • 如果“Bruce”已登录,他将看到:“Clark”、“Wayne”。
  • 如果“Wayne”已登录,他将看到:“Clark”。

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

这样的东西如何运作?

我看过这样的东西:

SELECT * FROM table_user WHERE age BETWEEN '16' AND '50';

但这当然是反过来的。

最佳答案

这是对年龄列的join,使用between(或类似的逻辑)。挑战在于以正确的顺序排列表格:

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;

关于php - MYSQL:获取符合条件的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28739490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com