gpt4 book ai didi

mysql - 如何根据另一个表的值使用 MySQL 选择一个值?

转载 作者:行者123 更新时间:2023-11-29 12:52:52 25 4
gpt4 key购买 nike

我的数据库中有 2 个表。一个称为:points,另一个称为:sample

points 表如下所示:

id  user_id     points
1 5 200
2 7 400
3 8 7000
4 12 900
5 23 3100

示例表如下所示:

id   points     number
1 500 10
2 1000 20
3 3000 30
4 5000 40
5 10000 50

我想选择例如user_id = 12并确定哪个数字(来自示例表)属于他的积分。应该根据他们的观点来决定。如果他们没有达到 sample 表中的更高数字,他们应该在此之前收到数字

但是这对我来说并不重要。我只想知道当它们之间没有预定义的表连接时,如何使用示例表从第一个表中选择值以查找值?我只想根据第二个表值的某些条件从第一个表中进行选择。

如何实现?

最佳答案

要获取仅 1 行的值,您可以使用 MAX,如 hellcode 所做的那样,或者您可以使用 LIMIT

SELECT s.number
FROM points p
INNER JOIN sample s ON s.`points` <= p.`points`
WHERE user_id = 12
ORDER BY s.number DESC
LIMIT 1;

要获取所有user_idnumber,您需要子查询

SELECT p.user_id
, (SELECT s.number
FROM sample s
WHERE s.`points` <= p.`points`
ORDER BY s.number DESC
LIMIT 1) Number
FROM points p

SQLFiddle demo 两个查询

如果用户小于则返回最小分值NULL

关于mysql - 如何根据另一个表的值使用 MySQL 选择一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470845/

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