标签: group-concat

选择 GROUP_CONCAT 中的 WHERE id

如何将WHEREorHAVING子句与 a 结合使用GROUP_CONCAT,以便返回的数据将包括GROUP_CONCAT包含 ID 的项目的任意组合,而不仅仅是单个匹配项,例如

SELECT p.id,
p.title,
GROUP_CONCAT(a.author_id) as 'aus'
FROM publications p INNER JOIN authors a
    ON p.publication_id = a.publication_id
WHERE a.author_id = 2
GROUP BY p.id,p.title
Run Code Online (Sandbox Code Playgroud)

会回来

id    title     aus
1     A         1,2,3
2     B         1,2
3     C         2
4     D         2
5     E         2,3
Run Code Online (Sandbox Code Playgroud)

而不仅仅是 3 和 4。

我在 a.author_id 列和产品上尝试了HAVING和子句的各种组合。WHEREGROUP_CONCAT

mysql group-concat

4
推荐指数
1
解决办法
5672
查看次数

MySQL列出用户及其组

在MySql数据库中我有表 user

user_id | user_name
--------+----------
1       | Joe
2       | Anna
3       | Max
Run Code Online (Sandbox Code Playgroud)

group

group_id | group_name
---------+----------
1        | Red
2        | Blue
3        | Green
Run Code Online (Sandbox Code Playgroud)

group_member

group_member_id | user_id | group_id
----------------+---------+---------
1               | 1       | 2
2               | 3       | 2
3               | 1       | 3 
3               | 2       | 1
Run Code Online (Sandbox Code Playgroud)

所以... Red组的成员是Anna,Green gorup的成员是Joe,Blue组的成员是Joe和max.

如何获取用户及其组的列表

User  | Group
------+------------
Joe   | Green, Blue
Anna  | Red
Max   | Blue 
Run Code Online (Sandbox Code Playgroud)

php mysql concat group-concat

3
推荐指数
2
解决办法
1366
查看次数

每个部门的集团员工

我有一张桌子 Details

DeptId        EmpID
-------      ---------
1             1
1             5
1             3
2             8
2             9
Run Code Online (Sandbox Code Playgroud)

我想将它们分组为:

DeptId      EmpIDs
-------    -------
 1          1,5,3
 2          8,9
Run Code Online (Sandbox Code Playgroud)

我想在SQL Server中使用它.我知道这可以在MySQL中使用Group_Concat函数完成.例如

SELECT DeptId, GROUP_CONCAT(EmpId SEPARATOR ',') EmpIDS
FROM Details GROUP BY DeptId
Run Code Online (Sandbox Code Playgroud)

(SQL小提琴在这里)

但是如何使用SQL Server执行此操作?我不知道任何功能.

sql sql-server grouping group-concat

3
推荐指数
1
解决办法
879
查看次数

Php和MySQL GROUP_CONCAT用分隔符逗号并用逗号搜索concat

是否可以在Group_concat中选择分隔符逗号并在其中搜索concat by comma Here我的mysql示例:

products_attributes_id  |products_id|   options_id|     options_values_id 
39                  |   31      |       3     |         3   
35                  |   30      |       2     |         2   
38                  |   30      |       1     |         1   
40                  |   31      |       2     |         2   
41                  |   30      |       1     |         4   
42                  |   30      |       1     |         5   
43                  |   31      |       1     |         4 
Run Code Online (Sandbox Code Playgroud)

我想要GROUP_CONCAT options_values_id

SELECT*,GROUP_CONCAT(options_values_id SEPARATOR',')FROM products_attributesGROUP by products_id

products_attributes_id  |   products_id |   options_id  |   options_values_id   |   options_values_id
35                  |   30          |   2           | …
Run Code Online (Sandbox Code Playgroud)

php mysql concat group-concat

3
推荐指数
1
解决办法
3万
查看次数

在表上运行查询时,group_concat被删除

我有一张看起来像这样的表: 在此输入图像描述

这个表包含343行.

我正在尝试对它运行此查询:

create table newTest2 
select function_name, service_name, min(concurrency), substring_index(group_concat(date order by concurrency ), ',',1) as minDate, 
 max(concurrency), substring_index(group_concat(date order by concurrency desc), ',',1) as maxDate , avg(concurrency)
        from conc_intermidate
        group by function_name,service_name;
Run Code Online (Sandbox Code Playgroud)

当我运行查询时,它给了我:"行203被GROUP_CONCAT()剪切",我不知道为什么它给了我这个错误.请帮忙!谢谢...

mysql group-concat sql-server-group-concat

3
推荐指数
1
解决办法
5676
查看次数

GROUP_CONCAT和Longtext

我需要将MySQL数据库表中的两个文本字段组合成一个,所以我使用了以下SQL脚本来完成它.

表:tbl_newsitems组合:需要将'ni_text'中的文本与相同的'news_id'表格布局组合:

zNg6f

用于组合文本的代码:SELECT news_id,GROUP_CONCAT(ni_text SEPARATOR'')FROM tbl_newsitems GROUP BY news_id;

但它不会在结果部分显示完整(完整)文本.修剪了CONCAT字段并丢失了一些文本.CONCAT字段的默认数据类型是TEXT(1024)

结果:

那么如何在不删除内容的情况下将整个文本合并到一个字段中.请给我脚本来执行此操作.

谢谢

mysql concat group-concat longtext

3
推荐指数
1
解决办法
1933
查看次数

mysql在g​​roup_concat中的计数项目

我在MySQL表中使用GROUP_CONCAT遇到麻烦,g0如下所示:

ID  Age Sex
-------------
1   16  Male
2   18  Female
3   16  Male
4   18  Female
5   16  Male
Run Code Online (Sandbox Code Playgroud)

但是我需要桌子看起来像

ID        count
1,3,5       3
2,4         2
Run Code Online (Sandbox Code Playgroud)

我试过这个查询:

ID  Age Sex
-------------
1   16  Male
2   18  Female
3   16  Male
4   18  Female
5   16  Male
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

1248. Every derived table must have it's own alias
Run Code Online (Sandbox Code Playgroud)

mysql sql select group-concat

3
推荐指数
1
解决办法
1743
查看次数

MySql GROUP_CONCAT 与 GROUP BY 每组第 n 行

SQL小提琴:http ://sqlfiddle.com/#!9/ e7f72/2

假设名为 testt 的表中有 10 条记录(id 不是 null 自动增量)。如果我要做

SELECT GROUP_CONCAT(id) FROM testt
Run Code Online (Sandbox Code Playgroud)

我希望结果看起来像

1、2、3、4、5、6、7、8、9、10

我怎么能让结果看起来像这样:

1,2

3,4

5,6

7,8

9,10

mysql sql group-by group-concat

3
推荐指数
1
解决办法
889
查看次数

在group_concat中排序

数据:

id  uid     type

1   20      A
2   20      B
3   20      A
4   6       A
5   1       A
6   3       A
7   6       A
8   1       B
Run Code Online (Sandbox Code Playgroud)

场景:

我想分组type并按排序id。我正在使用分组依据对分组uid

当前查询:

SELECT
    type,
    GROUP_CONCAT(DISTINCT uid) AS users,
    COUNT(type) AS typeCount
FROM
    `test2`
GROUP BY
    type
Run Code Online (Sandbox Code Playgroud)

问题:

但是的顺序uid是不正确的,它应根据降序排列id

预期结果:

type    users       typeCount
A       6,3,1,20    6
B       1,20        2
Run Code Online (Sandbox Code Playgroud)

我的结果:

type    users       typeCount
A       20,6,1,3    6
B       20,1        2
Run Code Online (Sandbox Code Playgroud)

mysql sql group-by group-concat

3
推荐指数
1
解决办法
813
查看次数

MySQL GROUP_CONCAT不会返回所有结果

我已经使用GROUP_CONCAT来获得由逗号(,)分割的结果,但是当我看到时,GRUP_CONCAT返回的只有205个分割数字,但在数据库中有2448个结果(不同aid).这是我的查询:

SELECT GROUP_CONCAT(`aid`) As favoriti 
FROM `z_web_favoriti` 
WHERE `kup_id`='1' AND `pos_id`='571'
Run Code Online (Sandbox Code Playgroud)

当我执行:

SELECT DISTINCT `aid` 
FROM `z_web_favoriti` 
WHERE `kup_id`='1' AND `pos_id`='571'
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:显示行0 - 29(总计2448,...)

任何人都有一些解决方案,为什么它不工作? 我在stackoverflow上搜索了类似的问题,但我找不到它..

mysql group-concat

3
推荐指数
1
解决办法
1260
查看次数