gpt4 book ai didi

mysql查询,允许重复

转载 作者:行者123 更新时间:2023-11-30 23:05:07 25 4
gpt4 key购买 nike

我有一个名为 Data( id, url ) 的表。我项目中的一个 api 向我返回了 ID 列表(此列表中可能有重复的 ID)。为了这个问题,让我们假设这个列表为 ( 1, 1, 2, 3, 4, 4)

我正在尝试查找与这些 ID 关联的 URL。

我第一次天真的尝试是使用 IN 子句:

SELECT url from Data where id in ( 1, 1, 2, 3, 4, 4);

这会返回四行。即 id 1、2、3 和 4 的 url。

我要的是六行,每一行指定id(需要保留重复的行)

我知道 IN 子句在这种情况下没有帮助。谁能给我指出正确的方向?

我可以通过迭代列表来触发对个人 ID 的查询,但这对我来说是最后的选择。

更新:添加更多关于表的详细信息

mysql> desc Data;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| url | varchar(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> select * from Data;
+----+-------+
| id | url |
+----+-------+
| 1 | a.com |
| 2 | b.com |
| 3 | c.com |
| 4 | d.com |
+----+-------+
4 rows in set (0.00 sec)

mysql> select url from Data where id in(1,1,2,3,4,4);
+-------+
| url |
+-------+
| a.com |
| b.com |
| c.com |
| d.com |
+-------+
4 rows in set (0.00 sec)

我想要的是:

+-------+
| url |
+-------+
| a.com |
| a.com |
| b.com |
| c.com |
| d.com |
| d.com |
+-------+

最佳答案

虽然不漂亮,但是

select url
from Data
inner join

( SELECT id FROM (
SELECT 1 as id UNION ALL
SELECT 1 as id UNION ALL
SELECT 2 as id UNION ALL
SELECT 3 as id UNION ALL
SELECT 4 as id UNION ALL
SELECT 4 as id
) as list_table ) as table2

on (Data.id = table2.id);

我发现几乎没有办法从列表中选择 值或加入 表到列表,但您可以查看此 SO Question

关于mysql查询,允许重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22234008/

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