gpt4 book ai didi

mysql - 用于选择不同数据的高级 SQL 查询

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

我有两个表需要从中提取数据。表1(t1)和样本值:

| rq_id | user_id | is_good |  
|----- 1 |---- 223 |-------- 0 ---- |
|----- 3 |---- 223 |-------- 1 ---- |
|----- 4 |---- 239 |-------- 0 ---- |
|----- 5 |---- 223 |-------- 0 ---- |

表2 (t2) 和示例值:

| rq_id | version | random_content |  
|---1---|---3------|------A------|
|---1---|---2------|------B------|
|---1---|---1------|------C------|
|---3---|---2------|------D------|
|---3---|---1------|------F------|
|---5---|---2------|------X------|
|---5---|---1------|------W------|

表1中的rq_id是唯一的,表2中有多行具有相同的rq_id。
我需要从 Table2 中获取每个 rq_id 1 行(仅具有最高版本的行)。从表 2 中选择 request_ids 的标准将来自表 1,其中 user_id=223 且 is_good="0"。
所以在这种情况下,我希望它返回:
|---1---|---3------|-----A-----|
|---5---|---2------|-----X-----|

这可以通过一些联合和不同的选择/内部选择或其他任何东西在一个快速 SQL 查询中完成吗?

最佳答案

SELECT  b.*
FROM Table1 a
INNER JOIN Table2 b
ON a.rq_ID = b.rq_ID
INNER JOIN
(
SELECT rq_id, MAX(version) max_ver
FROM table2
GROUP BY rq_id
) c ON b.rq_ID = c.rq_ID AND
b.version = c.max_ver
WHERE a.user_ID = 223 AND a.is_good = 0

关于mysql - 用于选择不同数据的高级 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16172943/

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