标签: group-concat

在集团内部排序

order by在第二个查询中不起作用.我需要先通过DNAID然后DNBID订购

首先查询其命令为:111221

第二次查询其命令为:112112

有关我想要完成什么的更多信息和详细信息 /sf/ask/355801631/

mysql> select * from metarun;
+----+------------+-------+-------+--------------+----------+
| ID | RunGroupID | DNAID | DNBID | CONFIGTYPEID | DateTime |
+----+------------+-------+-------+--------------+----------+
|  1 |          1 |     1 |     1 |            2 | NULL     |
|  2 |          1 |     1 |     2 |            2 | NULL     |
|  3 |          1 |     2 |     1 |            2 | NULL     |
|  4 |          2 |     1 |     1 |            4 | NULL     |
|  5 …
Run Code Online (Sandbox Code Playgroud)

mysql group-by sql-order-by group-concat

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

doctrine2和group_concat

我一直在浏览文档/谷歌,但没有找到任何解决方案.

有没有办法使用没有本机mysql的doctrine2(DQL)执行或模仿GROUP_CONCAT?

例如.:

SELECT u.id, u.name, [GROUP_CONCAT(...)] AS user_messages
FROM models\Users u
LEFT JOIN models\Messages m
GROUP BY u.id
Run Code Online (Sandbox Code Playgroud)

要得到

GROUP_CONCAT(m.id,'|',m.title SEPARATOR ':')
Run Code Online (Sandbox Code Playgroud)

现在我正在使用createNativeQuery()来运行它,但我正在寻找一个doctrine2解决方案.

提前致谢

php mysql group-concat doctrine-orm

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

MySQL SELECT来自多个表,多个GROUP BY和group_concat?

我有三个表,我想在MySQ中查询.如下:

**Table: Leaderboard**
Name  | Score
------------
James | 1
Steve | 2
Dave  | 5

**Table: Actions**
Name  | Action       | Time
----------------------------
James | Ate an apple | 01:00
James | Kicked a dog | 02:00
Steve | Ate a dog    | 03:00
Steve | Kicked a hen | 01:00
Dave  | died         | 02:00

**Table: Items**
Name  | Item         | Time
----------------------------
James | Chainsaw     | 01:00
James | Hammer       | 01:05
James | Crowbar      | 01:10 …
Run Code Online (Sandbox Code Playgroud)

mysql group-concat

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

在 MYSQL 中将 NOT IN 与 GROUP CONCAT 一起使用

我在 mysql 查询中使用“ GROUP_CONCAT ”函数和“ NOT IN ”语句。但由于未知原因,它没有返回正确的值:

这是我的查询不起作用:

select firstname, lastname
from t_user
where (status_Id NOT IN(Select GROUP_CONCAT(id) from t_status where code = 'ACT'
or code = 'WACT'))

Returns 46 rows
Run Code Online (Sandbox Code Playgroud)

这是我的查询工作:

select firstname, lastname
from t_user
where (status_Id NOT IN(1,4))

Returns 397 rows
Run Code Online (Sandbox Code Playgroud)

GROUP_CONCAT子查询的结果

 (Select GROUP_CONCAT(id) from t_status where code = 'ACT' or code = 'WACT') = 1,4.
Run Code Online (Sandbox Code Playgroud)

该查询似乎只处理 GROUP_CONCAT 子查询返回的第一项。

所以我不明白发生了什么事,也不明白为什么在这两种情况下我没有得到相同的结果。

预先感谢盖尔

mysql sql subquery group-concat

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

在Group_concat内部排序

是我的小提琴.

表和数据是

create table Table3 (MatchID varchar(10), ItemType varchar(10));
insert into Table3 values
('M001','Fruit'),
('M001','Animal'),
('M002','Fruit'),
('M002','Vehicle');
Run Code Online (Sandbox Code Playgroud)

当您有一个按MatchID和ItemType排序的选择查询时,它将返回

select MatchID,ItemType from Table3 order by MatchID,ItemType;

    MATCHID ITEMTYPE
    M001    Animal
    M001    Fruit
    M002    Fruit
    M002    Vehicle
Run Code Online (Sandbox Code Playgroud)

像这样,这是预期和正确的.

但是,当我进行group_concated时,它不会以有序的方式返回.

Select group_concat(ItemType) as typesTomatch ,MatchID
from (select MatchID,ItemType from Table3 
      order by MatchID,ItemType)
c group by MatchID;
Run Code Online (Sandbox Code Playgroud)

它正在回归

TYPESTOMATCH    MATCHID
Fruit,Animal    M001
Fruit,Vehicle   M002
Run Code Online (Sandbox Code Playgroud)

反对预期

TYPESTOMATCH    MATCHID
Animal,Fruit    M001
Fruit,Vehicle   M002
Run Code Online (Sandbox Code Playgroud)

.为什么group_concat表现如此?如何产生预期的产量?

mysql sql group-by sql-order-by group-concat

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

新行分隔符不适用于 group_concat 函数

我有一个(name lastname,name2 lastname2...)包含数据库表中值的字符串,我想将其显示为:

姓氏
name2 lastname2..

我使用 group_concat 函数,它适用于逗号分隔符,但我需要换行符。

group_concat(concat_ws(' ',users.firstname, users.lastname) SEPARATOR '<br>') as contacts_name
Run Code Online (Sandbox Code Playgroud)

php mysql group-concat

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

mysql查询,如何使用GROUP_CONCAT获得前5个下载

MySql表中的以下数据.

brand_id|image_id|downloads
--------|--------|---------
8       |9       |8    
35      |2829    |4    
28      |2960    |3    
28      |2961    |3    
28      |3041    |3    
35      |2831    |3    
28      |2965    |3    
35      |2832    |3    
28      |2959    |2    
28      |2976    |2    
35      |2894    |2  
Run Code Online (Sandbox Code Playgroud)

如何GROUP_CONCAT在每个品牌中找到具有功能的前5个图像我想跟随返回

brand_id|image_ids                
--------|--------------------------
8       |9                       
35      |2829,2831,2832,2894     
28      |2960,2961,3041,2965,2959
Run Code Online (Sandbox Code Playgroud)

以下查询提供预期结果

SELECT brand_id, SUBSTRING_INDEX(GROUP_CONCAT(image_id SEPARATOR ','),',',5) AS image_ids
FROM Table1
GROUP BY brand_id
Run Code Online (Sandbox Code Playgroud)

我有一个大量的数据约2MILION记录表和brand_id,image_id都重复每个用户下载所以当我运行查询我得到以下错误

MySql Error: %d line(s) were cut by GROUP_CONCAT()
Run Code Online (Sandbox Code Playgroud)

我认为GROUP_CONCAT范围超出了,你能不能提供解决方案,所以每个品牌只能获得前5个下载,所以不需要SUBSTRING_INDEX功能.

谢谢

mysql sql select group-concat top-n

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

mysql group_concat为空字段添加分隔符

这里有一个示例架构: http://sqlfiddle.com/#! 2/c0723a/2

查询是select id,group_concat(val) from test group by id

结果是

ID GROUP_CONCAT(VAL)
1 ,64,66,,203,214,204

我想连接 val 字段而不用逗号来表示这样的空记录

ID GROUP_CONCAT(VAL)
1 64,66,203,214,204

mysql sql group-concat

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

MySQL group_concat 和计数

我试图在单个查询中获取每个类别的方面,如下所示:

SELECT b.`id` AS parent_id, b.`name` AS parent_name, 
    a.`id` AS child_id, a.`name` AS child_name, a.`pageid` AS t_id, 
    COUNT( c.`id` ) AS deals_in_cat, 
    d.`aspect_values` AS aspects 
        FROM `category_parent` AS a 
        LEFT JOIN `navigation_filters_weightage` AS d ON a.`id` = d.`cat_id`, 
        `deals_parent_cat` AS b, 
        `deals` AS c 
    WHERE a.`parent_id` = b.`id` 
    AND c.`ebaydeals_category` = a.`id` 
        GROUP BY a.`id`, d.`frequency` 
        ORDER BY b.`order` ASC, a.`order` ASC, d.`frequency` DESC;
Run Code Online (Sandbox Code Playgroud)

这个查询给了我以下结果:

PHPMyAdmin 结果

如您所见,一个类别(在本例中为 Mobile)的所有方面都在单独的一行中。我想要的是在一行中获得所有类别的所有方面。所以,我试试这个查询:

SELECT b.`id` AS parent_id, b.`name` AS parent_name, 
    a.`id` AS child_id, a.`name` AS child_name, …
Run Code Online (Sandbox Code Playgroud)

mysql sql count left-join group-concat

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

如何执行存储在表列MySQL中的查询?

mysql> select * from CT;

| CID | MID | REPORT_QUERY           |
|   1 |   1 | select * from emp;     |
|   2 |   2 | select * from student; |

2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

我想在REPORT_QUERY列中执行查询.

DELIMITER //
 CREATE PROCEDURE TRYct()
   BEGIN
SET @str=(SELECT GROUP_CONCAT(REPORT_QUERY SEPARATOR ' ') FROM CT);
PREPARE q from @str;
EXECUTE q;
   END //
 DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

我使用此代码,但如果我的表中只有一个查询,它可以工作.如果有两个查询而不是它给出错误.

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual …
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures group-concat sql-server-group-concat

4
推荐指数
2
解决办法
2945
查看次数