javascript - MySQL 选择共享该字段值的所有值

标签 javascript mysql

我是 MySQL 新手,因此用语言描述问题很困难,并且寻找解决方案也极具挑战性。

这个问题最好通过视觉来解释:

我想选择(作为数组)共享相同pair_id的exchange_pair_id。

localhost

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

{ pair_id: 1, exchange_pair_id: [183, 1] }

我知道这是一个被屠杀的问题,但我不知道要搜索什么词来解决这个问题。

为了清晰/简洁而更新:

+------------------+-------------+---------+
| exchange_pair_id | exchange_id | pair_id |
+------------------+-------------+---------+
| 1                | 3           | 1       |
+------------------+-------------+---------+
| 183              | 1           | 1       |
+------------------+-------------+---------+
| 69               | 2           | 2       |
+------------------+-------------+---------+
| 12               | 4           | 2       |
+------------------+-------------+---------+
| 2                | 3           | 2       |
+------------------+-------------+---------+
| 3                | 3           | 3       |
+------------------+-------------+---------+

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] }
]

最佳答案

我正在考虑这样的查询,但我正在评论中等待您的答复。 基本上,您使用 GROUP BY 在两个不同的列中获取每个pair_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

关于javascript - MySQL 选择共享该字段值的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365942/

相关文章:

php - 如何防止未经授权的内容查看(php/js)

javascript - 在 Javascript 中添加事件的正确且最有效的方法?

php - 从数组生成 jquery 列表

mysql - 加强数据库设计

mysql - 使用唯一索引删除重复项

MySql:如何在列中使用相同文本的 "list"记录

php - 无法保存库存项目。请再试一次。 Magento 2.4.0

javascript - React-materialize-css 模态不工作,因为它无法读取 M 的模态类

javascript - 基础顶栏 : Toggle drop-down on click instead of hover

javascript - 无法在 Sails JS 中创建版本化 API