gpt4 book ai didi

mysql - 如何在没有group by的情况下使用group_concat

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

我有一个如下所示的表格

    +------------+----------------+--------------------------------+    
| date | file_fields_id | value |
+------------+----------------+--------------------------------+
| 2015-12-03 | 124 | AAA |
| 2015-12-03 | 125 | BBB |
| 2015-12-03 | 126 | CCC |
| 2015-12-03 | 134 | T |
| 2015-12-03 | 135 | 22222333 |
| 2015-12-03 | 136 | 5216 |
| 2015-12-03 | 138 | D7989878978979892 |
| 2015-12-03 | 139 | |
| 2015-12-03 | 143 | |
| 2015-12-03 | 124 | AAA |
| 2015-12-03 | 125 | SDOGX |
| 2015-12-03 | 126 | CUSNETDOGSUSDEW--P-US-L-- |
| 2015-12-03 | 134 | MO |
| 2015-12-03 | 135 | 33333222 |
| 2015-12-03 | 136 | 5128 |
| 2015-12-03 | 138 | D54565210545542000 |
| 2015-12-03 | 139 | |
| 2015-12-03 | 143 | |

我希望将这些数据分成两行,每行中的 file_fields_id 从 124 - 143 开始。我正在使用 group_concat,但由于表没有任何其他唯一标识符,我无法使用 group by。

结果应该类似于

    | 2015-12-03 | ([124#AAA], [125#BBB], [126#CCC]... [138#D7989878978979892],[143#])|        
| 2015-12-03 | ([124#AAA], [125#BBB], [126#CCC]... [138#D7989878978979892],[143#])|

最佳答案

这又怎样呢。使用变量来决定哪个优先

Sql Fiddle Demo

SELECT row_id, 
date,
group_concat( value ORDER BY value SEPARATOR ', ')
FROM
(SELECT
@row_number:=CASE
WHEN @customer_no = file_fields_id THEN @row_number + 1
ELSE 1
END AS row_id,
@customer_no:= file_fields_id as file_fields_id,
date,
CONCAT('[',file_fields_id,'#',value,']') as value
FROM
Table1
ORDER BY file_fields_id
) T
GROUP BY row_id, date
ORDER BY row_id;

输出

| row_id |                       date |                                                                                      group_concat( value ORDER BY value SEPARATOR ', ') |
|--------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| 1 | December, 03 2015 00:00:00 | [124#AAA], [125#SDOGX], [126#CUSNETDOGSUSDEW--P-US-L--], [134#MO], [135#22222333], [136#5128], [138#D54565210545542000], [139#], [143#] |
| 2 | December, 03 2015 00:00:00 | [124#AAA], [125#BBB], [126#CCC], [134#T], [135#33333222], [136#5216], [138#D7989878978979892], [139#], [143#] |

也许你需要检查

ORDER BY file_fields_id
to
ORDER BY file_fields_id, value

关于mysql - 如何在没有group by的情况下使用group_concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34071051/

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