gpt4 book ai didi

mysql - GROUP_CONCAT 有两个字段

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:12 31 4
gpt4 key购买 nike

我的表有两个字段(ID 和状态)

我想获取每个 ID 的每个状态计数的 group_concat

ID  Status
1 True
1 True
1 False
2 True
2 False
2 False

我希望我的结果是

ID Group_Concat
1 (True-2, False-1)
2 (True-1, False-2)

我可以在 PHP 中解析 True-#/False-#...除非有办法使它成为 group_concat 中的一个单独字段?

我玩过以下内容,但无济于事..它一直为每个 ID 和状态制作单独的一行。这将是更大的 SELECT 的一部分,但我认为将这个问题与该 SQL 混为一谈无关紧要。

SELECT ID,Status, GROUP_CONCAT(c) 
FROM (
SELECT ID, Status,COUNT(Status) c
FROM buyer_advert GROUP BY ID,Status
) a GROUP BY ID, Status

最佳答案

您可以通过在 group_concat 中添加一个 concat 来做到这一点,如下所示:

SELECT 
ID,
GROUP_CONCAT(CONCAT(Status,'-',c),' ' ORDER BY Status DESC)
FROM (SELECT ID, status, COUNT(Status) c
FROM buyer_advert
GROUP BY ID, status
) a
GROUP BY ID;

Sample SQL Fiddle

关于mysql - GROUP_CONCAT 有两个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31767101/

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