MySQL 使用 GROUP BY 语句返回更少的行

标签 mysql

我有一个存储图像信息的 MySQL 数据库。现在它在数据库中只存储了三行,并且每一行都与某些内容相关联,例如,通过键列与一篇独特的博客文章相关联。

截至目前,一个“博文 key ”在数据库中有一张图片,一个在数据库中有两张图片。

当我运行这个查询时,MySQL 返回所有三行。

SELECT `id`, `key`, `url`
FROM (`images`)
WHERE `key` = 'TpaS4G5h'
OR `key` = '78855e44'

但是,当我添加 GROUP BY 语句时,我只得到两行...每个键一行。

SELECT `id`, `key`, `url`
FROM (`images`)
WHERE `key` = 'TpaS4G5h'
OR `key` = '78855e44'
GROUP BY `key`

我确信有一个简单的解决方案,但我不知道它是什么......所以非常感谢任何帮助。

提前致谢!

最佳答案

GROUP BY 将具有按值分组的所有行分组到单个行中,因此它完全按照预期进行。如果您希望在连续的行中返回具有相同键的行,请改为执行 ORDER BY

关于MySQL 使用 GROUP BY 语句返回更少的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2441138/

相关文章:

mysql - 更新太平洋/斐济的 mysql 时区

mysql - 如何为特定项目创建计数列

php - PDO 没有连接到远程 mysql 数据库

php - 如何从数据库中的多个表中搜索关键字并且没有公共(public)字段来连接表

php - 如何将 2 个模型请求合并到一个查询中

Mysql 查找字符串中的数字并按字符串中的数字过滤结果

mysql - 如何从 Lambda 函数连接到 RDS 数据库?

php - 如何将数据库记录分布在多个列上?

php - 在一个查询中检索所有行或单独检索每一行的效率差异?

mysql - NodeJS JSON 到 SQL 和 SQL 到 JSON 库?