gpt4 book ai didi

mysql - 查询子查询不返回所有结果

转载 作者:行者123 更新时间:2023-11-29 06:49:47 24 4
gpt4 key购买 nike

我正在做下一个查询:

SELECT id, name, keyt
FROM table
WHERE id = (SELECT t2.id FROM table t2 WHERE t2.keyt=21 ORDER BY RAND() LIMIT 1)

假设表是这样的:

| id |  name      |  keyt   |
+ ------------------------- +
| 1 | Hello | 21 |
| 3 | Katzet | 1 |
| 1 | Welcome | 1 |
| 2 | Two | 21 |
| 2 | Other | 1 |

应该返回其中一对:

  • 你好|欢迎(id 1)
  • 两个 |其他(共有 id 2)

所以,想法是:
获取一个 id,其 keyt 值设置为 21
然后,获取具有该选定 ID 的所有行(独立于所有其他键值)

如果我按照你的建议去做......我会得到混合的 id 值,并且所有结果行必须具有相同的 id

最佳答案

SELECT x.* 
FROM my_table x
JOIN
( SELECT id
FROM my_table
WHERE keyt = 21
ORDER
BY RAND() LIMIT 1
) y
ON y.id = x.id;

关于mysql - 查询子查询不返回所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16254066/

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