使用group_concat的查询仅返回一行

蒂芙尼·洛(Tiffany Lowe)

这是一个查询,应该获取用户的信息,他们的项目的信息以及与该项目相关联的所有图像路径的group_concat。除此之外,我只是从用户关注的人那里获得提及的信息。

但是,这只能重新调整一行。

SELECT users.first_name, users.last_name, users.user_id, projects.project_id, projects.project_name, projects.project_time, group_concat(images.image_path)
FROM users, projects, images
WHERE users.user_id = projects.user_id
AND users.user_id IN (SELECT follow_user_2 FROM following WHERE follow_user_1 = 1)
 ORDER BY projects.project_id DESC

要进行比较:以下查询在某种意义上起作用,即在循环中它提供了所有用户信息以及与该用户有关的项目信息。

SELECT users.first_name, users.last_name, users.user_id, projects.project_id, projects.project_name, projects.project_time 
    FROM users, projects
    WHERE users.user_id = projects.user_id 
    AND users.user_id IN (SELECT follow_user_2 FROM following WHERE follow_user_1 = 1)
    ORDER BY projects.project_id DESC

当我尝试使用GROUP_CONCAT它只是返回我一个行,我不明白为什么。

有人能帮助我吗?谢谢。如果我的问题不够清楚,我会详细说明。

如果有帮助,这里是一个SQL FIDDLE。http://www.sqlfiddle.com/#!2/867f6/2我不得不大大缩短我的架构。尝试对上述两个查询都可以看到问题。

阿齐兹·谢赫(Aziz Shaikh)

当我尝试使用group_concat时,它只返回我一行,但我不明白为什么。

因为您尚未GROUP BY在查询中使用该子句。当使用类似的聚合函数时,GROUP_CONCAT您需要告诉数据库有关您要用来合并数据的列。

当前,您的查询正在对所有记录进行分组,并在输出中给出1条记录。

如果您添加GROUP BY users.userid查询,则记录将按唯一的用户ID分组。我更新了您的小提琴,它现在提供了2条记录:http ://www.sqlfiddle.com/#!2/ 867f6/18

请注意:在标准SQL查询中,GROUP BY子句中列出的列应与SELECT子句中的列匹配(聚合函数除外)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用group_concat的查询仅返回一行

来自分类Dev

来自JOIN子句和GROUP_CONCAT的MySQL LIKE仅返回联接表的一行

来自分类Dev

group_concat mysql子查询仅返回一项

来自分类Dev

MySQL使用group_concat将多个关系表选择为一行

来自分类Dev

如果一个字段为NULL,则GROUP_CONCAT返回一行NULL

来自分类Dev

sql查询仅返回一行

来自分类Dev

MYSQL-UNION ALL的GROUP_CONCAT结果成一行

来自分类Dev

MySQL 正在复制其中一行中的 GROUP_CONCAT 内容

来自分类Dev

SQLite数据库查询仅返回一行

来自分类Dev

SQL Server数据透视查询仅返回一行

来自分类Dev

mysql子查询仅返回一行

来自分类Dev

在SQL查询中使用avg()函数仅返回一行?

来自分类Dev

从group_concat使用

来自分类Dev

使用group_concat?

来自分类Dev

从group_concat使用

来自分类Dev

使用GROUP BY时强制Oracle SQL查询返回至少一行

来自分类Dev

Group_concat,将一列合并为一行,如果其他列相等

来自分类Dev

SQL连接+ group_concat不返回某些行

来自分类Dev

同一查询中有几个group_concat

来自分类Dev

结合使用MYSQL GROUP_CONCAT和子查询

来自分类Dev

如何在查询中使用两列的GROUP_CONCAT

来自分类Dev

使用IN与group_concat结果进行MySQL查询

来自分类Dev

使用group_concat加入查询,重复值

来自分类Dev

结合使用MYSQL GROUP_CONCAT和子查询

来自分类Dev

在mysql中使用GROUP_CONCAT选择查询

来自分类Dev

在 JOIN 查询中使用 Mysql GROUP_CONCAT

来自分类Dev

如何修复此查询?使用 GROUP_CONCAT

来自分类Dev

使用 GROUP_CONCAT 查询不适用于 PHP

来自分类Dev

如何在整个子查询上使用 group_concat?