gpt4 book ai didi

php - SQL : Merge two rows by some ID and keep values

转载 作者:行者123 更新时间:2023-11-29 03:59:27 25 4
gpt4 key购买 nike

我面临一个相对简单的问题,但我无法设法解决问题。请记住,如果 PHP 可以使事情变得更容易,我将 PHP 与 Laravel 框架结合使用。

我有一个表格,里面填满了这样的数据:

ID | TRANSACTION_ID | BEACON_TYPE
---+----------------+---------------
1 | 1 | "abc"
2 | 2 | "def"
3 | 2 | "xyz"

我想按交易 ID 对它们进行分组,并将信标类型保留在数据中,如下所示:

ID | TRANSACTION_ID | BEACON_TYPE
---+----------------+---------------
1 | 1 | "abc"
2 | 2 | "def", "xyz"

我试过使用 group by 但无济于事。关于如何实现这一目标的任何想法或提示?正如我之前所说,可能有一些方法可以使用 Laravel Eloquent 来完成。

最佳答案

假设您正在使用 MySQL,您正在寻找的函数是 GROUP_CONCAT()。使用 Eloquent,它看起来像这样:

$transactions = DB::table('tableName')
->select('TRANSACTION_ID', DB::raw('GROUP_CONCAT(BEACON_TYPE SEPARATOR ', ') as BEACON_TYPE'))
->groupBy('TRANSACTION_ID')
->get();

请注意,如果您想更改分隔符,只需将 ', ' 编辑为其他内容即可。默认分隔符是 ','

关于php - SQL : Merge two rows by some ID and keep values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57044839/

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