- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
这是一个查询,应该获取用户的信息、他们的项目信息,以及与该项目关联的所有图像路径的 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
比较: 以下查询 WORKS 在循环中提供所有用户信息和与该用户相关的项目信息。
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我不得不大大缩短我的架构。尝试以上两个查询以查看问题。
最佳答案
When I try to use group_concat it just returns me one row and I do not understand why.
因为您没有在查询中使用 GROUP BY
子句。当使用像 GROUP_CONCAT
这样的聚合函数时,您需要告诉数据库您希望合并数据的列。
目前您的查询正在对所有记录进行分组并在输出中给出 1 条记录。
如果您在查询中添加 GROUP BY users.userid
,则记录将按唯一用户 ID 分组。我更新了你的 fiddle ,它现在提供了 2 条记录:http://www.sqlfiddle.com/#!2/867f6/18
请注意:在标准 SQL 查询中,GROUP BY 子句中列出的列应与 SELECT 子句中的列匹配(聚合函数除外)。
关于mysql - 使用 group_concat 的查询只返回一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22190200/
假设你有 Select group_concat(distinct tag.title) as tagTitles group_concat(distinct tag.id) as tagIds ar
我正在建立一个销售鞋子的网上商店。我正在尝试编写一个命令来显示 1 个特定运动鞋的每种尺寸的数量。 这是我的 ER 图 Link to my ER-Diagram can be seen here:
有可能吗?我想要得到的是这样的: +-------------------------------+ | data 1 (another1, another2); | | data 2 (anoth
我正在分析一些查询,并在尝试根据 user_id 从不同的表中提取多个字段时注意到一些有趣的结果。考虑下表: +------------------------+------------------+
不确定标题是否正确解释了情况,但我会尽力在这里解释。 我有一个表,其中有 3 个字段链接到其他表,我想按以下方式对所有行进行分组: item_id, user_id, group_id 1
SELECT CONCAT(`date`,',',`viewcount`) FROM `stat` WHERE `stat`.`id` = 1 AND `channelstat`.`date` B
这是我第一次使用 stackoverflow,..对我温柔点;) 当在 map 表上使用多个 JOIN 时,从 GROUP_CONCAT 获取重复结果几乎没有问题。 解释这个并不容易,但我会尝试: 我
我有以下查询: SELECT files.file_name, files.locked, projects.project_name, group_concat( versions.version,
我想列出所有用户及其对应的用户类别。这是我的表格的简化版本 CREATE TABLE users ( user_id INT NOT NULL AUTO_INCREMENT, user
MYSQL group_concat() 函数默认忽略空列,但不忽略空字符串列。我有一个 mediumtext 类型的字段,而不是 null。当我在该查询上使用 group_concat 函数时,生成
是否可以使用 Mysql 获取前 n(比如一列的 10 行)行的逗号分隔值? 我有一个查询要获取大于 CURDATE() 的数据。它将返回超过 100 行的结果。我想要的是,GROUP_CONCAT
我刚刚了解到 group_concat和 order by , group by ,现在我正在尝试将它们应用于查询谋杀案。即,到下面的这个以获取所有参与者和目标。 SELECT DISTINCT ?i
在 BigQuery 中创建了以下查询: SELECT date, userId, SUM(totals.visits) totalvisits, GROUP_CONCAT(devic
这是我的 SQL 操作: select `id_ifc_espaces`,GROUP_CONCAT(DISTINCT `nom_espace`) as nom_espace ,GROUP_CONC
我使用 GROUP_CONCAT 来获得由逗号分割的结果( , ),但是当我看到时, GRUP_CONCAT仅返回 205 拆分的数字,但在数据库中有 2448 结果(不同 aid )。这是我的查询:
我想在 table A 上做一个 SELECT,它有: table_a: ╔══════════╦════════╗ ║ GROUP_ID ║ NAME ║ ╠══════════╬═══════
我想根据messageid group_concate image_id 和small_pic_path 路径。 但是 group concate 显示所有 image_id 和第一个 message
我有 table id | industry_id | type | key 1 1 0 word1 2 1 1 wor
我的查询是这样的 SELECT * FROM semesters WHERE student_id = 434 AND marks_id <= 576 AND semester_id <= 23
在 mysql 中是否有 GROUP_CONCAT 的替代方案。由于 GROUP_CONCAN 的最大长度约束是 1024,我需要一个替代方案。我不能更改 GROUP_CONCAN_MAX_LENGT
我是一名优秀的程序员,十分优秀!