gpt4 book ai didi

MySQL。我可以选择带 map 的行吗?

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

所以,我有一个数组 id=>time 和一个表。

| id | text | created_at |

如何在一个查询中获取 CREATED_AT>array['id'] 且 ID=id 的所有行?

我可以做这样的事情

  foreach (array as $key=>$value) {
query("SELECT * FROM table WHERE CREATED_AT>$value and ID=$key");
}

但我想将所有内容都放在一个查询中。

示例数据:

| id | text | created_at |
--------------------------
| 1 | aaaa | 123 |
| 2 | bbbb | 124 |
| 1 | cccc | 122 |
| 3 | dddd | 125 |
| 1 | eeee | 125 |

array( '1' => 123, '2' => 125, '3' => 124);

查询应返回此行:

| 1 | aaaa | 123 |
| 3 | dddd | 125 |
| 1 | eeee | 125 |

最佳答案

你可以做一长串

$my_query = "SELECT * FROM table WHERE";
$counter = 0;
foreach (array as $key=>$value) {
if ($counter > 0)
$my_query += " OR ";
$my_query += "(CREATED_AT>$value and ID=$key)";
$counter++;
}

但是这很丑陋。我不建议这样做。除此之外,我认为没有简单的方法可以在一个查询中做到这一点。如果您只查询一批 ID,那会很容易,但考虑到这两个条件,我想不出任何其他方法。

我认为在 for 循环中执行此操作并不是一个坏主意...它绝对比我上面给出的代码更具可读性。

关于MySQL。我可以选择带 map 的行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22155628/

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