Javascript MySQL选择共享此字段值的所有值

Javascript MySQL选择共享此字段值的所有值,javascript,mysql,Javascript,Mysql,我是MySQL的新手,所以用文字描述问题很困难,寻找解决方案也极具挑战性 最好直观地解释这个问题: 我想选择共享同一对id的数组交换对id 因此,在上面的数据中,我的MySQL查询将返回一个对象: { pair_id: 1, exchange_pair_id: [183, 1] } 我知道这是一个残酷的问题,但我不知道用什么词来搜索来解决这个问题 为清晰/简洁而更新: Javascript MySQL选择查询的所需输出: [ { pair_id: 1, exchange_pair_id: [

我是MySQL的新手,所以用文字描述问题很困难,寻找解决方案也极具挑战性

最好直观地解释这个问题:

我想选择共享同一对id的数组交换对id

因此,在上面的数据中,我的MySQL查询将返回一个对象:

{ pair_id: 1, exchange_pair_id: [183, 1] }
我知道这是一个残酷的问题,但我不知道用什么词来搜索来解决这个问题

为清晰/简洁而更新:

Javascript MySQL选择查询的所需输出:

[
 { pair_id: 1, exchange_pair_id: [1, 183] },
 { pair_id: 2, exchange_pair_id: [69, 12, 2] },
 { pair_id: 3, exchange_pair_id: [3] }
]

尝试从pair=1的表中选择exchange\u-pair\u-id,然后它将返回数组[1183]

尝试从pair\u-id=1的表中选择exchange\u-pair\u-id,然后它将返回数组[1183]

我正在考虑这样的查询,但我正在等待您的回复。 基本上,您可以使用GROUP BY在两个不同的列中获取每对\u id的值:

SELECT pair_id, MIN(exhange_pair_id) AS id1, MAX(exchange_pair_id) AS id2
FROM yourtable
GROUP BY pair_id;
更新版本:你能在你的数据上试试这个吗? 在本例中,MYSQL允许您使用分隔符表示字段

SELECT pair_id, GROUP_CONCAT(exhange_pair_id) AS exhange_pair_id 
FROM yourtable
GROUP BY pair_id

我在想这样一个问题,但我在评论处等待你的回答。 基本上,您可以使用GROUP BY在两个不同的列中获取每对\u id的值:

SELECT pair_id, MIN(exhange_pair_id) AS id1, MAX(exchange_pair_id) AS id2
FROM yourtable
GROUP BY pair_id;
更新版本:你能在你的数据上试试这个吗? 在本例中,MYSQL允许您使用分隔符表示字段

SELECT pair_id, GROUP_CONCAT(exhange_pair_id) AS exhange_pair_id 
FROM yourtable
GROUP BY pair_id

您要查找的SQL将是:

SELECT * WHERE pair_id == 1

在不知道您的特定代码是什么样子的情况下,我只能猜测您是如何实现对数据库的调用的。我假设您正在对PHP控制器进行某种异步调用。因此,与在查询中使用“1”不同,您需要使用从代码中提取的任何变量来了解您要查找的内容。

您要查找的SQL是:

SELECT * WHERE pair_id == 1


在不知道您的特定代码是什么样子的情况下,我只能猜测您是如何实现对数据库的调用的。我假设您正在对PHP控制器进行某种异步调用。因此,不必在查询中使用“1”,您将需要使用从代码中提取的任何变量来了解您要查找的内容。

您只是成对的,还是可能有第三条记录的pair_id==1?我试图简化问题,但显然不是整个问题。我有300多个pair\u id值和不同数量的exchange\u pair\u id字段。这会要求每对id都有一个循环吗,如果你有四条记录具有相同的pair\u id,你可以发布你想要的输出吗?如果可能,在你的问题中,将想要的输出作为文本表发布。我刚刚发布了一个更大的DB示例@etsado,说明了一些清晰的信息。你是刚配对的还是可能有第三条记录pair\u id==1?我试图简化这个问题,但很明显不是全部。我有300多个pair\u id值和不同数量的exchange\u pair\u id字段。这是否需要为每一对id设置一个循环?因此,如果您有四条记录具有相同的对id,您可以发布您想要的输出吗?如果可能,请在您的问题中以文本表的形式发布您想要的输出。我刚刚发布了一个更大的DB示例@etsaAh,这将在有两个值的情况下起作用。我有未知数量的可能匹配的值要选择。@nick正如我在上面的问题注释中所问的,您应该为变量样本数据发布所需的输出input@nick:此功能适用于任意数量的匹配值,但仅提供两个,使用MIN和max。此功能运行良好。我需要阅读关于这个组的内容,所以如果有两个值,这就行了。我有未知数量的可能匹配的值要选择。@nick正如我在上面的问题注释中所问的,您应该为变量样本数据发布所需的输出input@nick:此功能适用于任意数量的匹配值,但仅提供两个,使用MIN和max。此功能运行良好。我需要阅读关于这个GROUP\u CONCAT的内容。当你需要分组数据时,你可以使用GROUP by子句。即使我想按每一对\u id查询,它也会为每个where条件返回单独的行。当你需要分组数据时,你可以使用GROUP by子句。即使我想按每一对\u id查询,它也会为每个where条件返回单独的行