我有一个存储图像信息的 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/