gpt4 book ai didi

MySQL获取位于两个不同列中的键值对

转载 作者:行者123 更新时间:2023-11-29 11:58:38 26 4
gpt4 key购买 nike

Table1:有 3 列,分别表示 ID、键和值。

+----+-----+-------+
| ID | KEY | VALUE |
+----+-----+-------+
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 2 | 1 |
| 4 | 2 | 2 |
| 5 | 3 | 1 |
| 6 | 3 | 2 |
| 7 | 4 | 1 |
| 8 | 4 | 2 |
| 9 | 5 | 1 |
| 10 | 5 | 2 |
+----+-----+-------+

该表键和值都可以重复,但两者的组合是唯一的。

如果我想根据键值对查询多行,并且NOT根据id查询。我怎样才能做到这一点?

注意:我知道我能做到

SELECT * from Table1 
WHERE (key=1 AND value=2) OR
(key=1 AND value=1) OR
(key=5 AND value=1);

我希望得到更好、更简洁的东西,因为我需要查询大约 40K 个键值对。

最佳答案

除了您已经在做的事情之外,没有其他正确的方法。您应该比较唯一的列,在您的情况下是 ID。是的,您可以使用 IN 运算符来缩短它来比较行构造函数,说

SELECT * from Table1 
WHERE (`key`, `value`) IN ((1,2),(1,1),(5,1));

参见MySQL Documentation了解更多相关信息。

关于MySQL获取位于两个不同列中的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32769907/

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