gpt4 book ai didi

mysql - 如何在分组查询上使用 CONCAT_WS?

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

如何对分组查询使用 CONCAT_WS

这是我的数据库表:

项目

id(PK)  itemcode    req_id(FK)  qualifications  duties

我正在尝试运行此查询:

SELECT *,CONCAT_WS(' ',itemcode) itemcodes,COUNT(*) counter FROM items
WHERE req_id=1 GROUP BY qualifications,duties

我希望输出是行加上用空格分隔的 itemcode。比如说,如果有四行,我会在 itemcodes 字段中得到:code1 code2 code3 code4。但是,它只返回一个项目代码。

示例数据库条目:

id  code    req_id  qualifications  duties
------------------------------------------------------
1 code12 1 can read do the laundry
2 code24 1 can read do the laundry
3 code35 1 can read do the laundry
4 code47 1 can read do the laundry
5 code98 1 can write draw animals
6 code02 1 can write draw animals
7 code53 2 can sing sing all the time

期望的输出:

对于 req_id=1

(*) itemcodes                       counter
-------------------------------------------
code12 code24 code35 code47 4
code98 code02 2

最佳答案

试试这个:

SELECT qualifications, duties, GROUP_CONCAT(itemcode SEPARATOR ' ') AS itemcodes, COUNT(*) AS counter
FROM items
WHERE req_id = 1
GROUP BY qualifications, duties

GROUP_CONCAT 用于对多行进行分组。它是一个聚合函数。

CONCAT_WS 用于连接多个字符串,使用分隔符。所有字符串都必须作为参数传递,它不是聚合函数。

关于mysql - 如何在分组查询上使用 CONCAT_WS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470341/

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