gpt4 book ai didi

MySQL |最多选择两个来自一张表的值

转载 作者:行者123 更新时间:2023-11-29 19:16:56 24 4
gpt4 key购买 nike

我有 ID(电视剧 ID)、T(译者 ID)、S(季)、E(剧集)

我需要转换这个:

| ID | T | S | E |  
| 1 | 1 | 1 | 2 |
| 1 | 1 | 1 | 3 |
| 1 | 2 | 1 | 3 |
| 2 | 3 | 2 | 1 |
| 2 | 3 | 3 | 1 |

进入此:

| ID | T | S | E |  
| 1 | 1 | 1 | 3 |
| 1 | 2 | 1 | 3 |
| 2 | 3 | 3 | 1 |

我的想法:

SELECT `ID, `T`, `S`, `E`
FROM `UPDATE`
WHERE
`S` = (SELECT MAX(`S`) FROM `UPDATE` WHERE `ID` = `ID`)
AND `E` = (SELECT MAX(`E`) FROM `UPDATE` WHERE `ID` = `ID` AND `S` = (SELECT MAX(`S`) FROM `UPDATE` WHERE `ID` = `ID`))
GROUP BY `ID`, `T`
ORDER BY `TIMESTAMP` DESC

最佳答案

我认为这会起作用。您需要首先确定每个 ID 和 T 的最大 S。确定这些后,您可以在所有三个字段上连接回原始表以获得最大 E。

   SELECT A.ID, A.T, A.S, MAX(B.E) as E
FROM (
SELECT ID, T, MAX(S) AS S
FROM `UPDATE` U
GROUP BY ID, T) A
INNER JOIN `UPDATE` B
ON A.ID = B.ID AND A.T = B.T AND A.S = B.S
GROUP BY A.ID, A.T, A.S

关于MySQL |最多选择两个来自一张表的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42632623/

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