gpt4 book ai didi

MySQL 5.7 基于不同的列返回表的所有列

转载 作者:搜寻专家 更新时间:2023-10-30 20:52:38 25 4
gpt4 key购买 nike

我刚刚升级到 MySQL 5.7,不幸的是,GROUP BY 的一些功能已经消失了。我想从我的 movies 表中选择所有电影,只要类型 intmovies.id 不是重复的。我之前在 MySQL 5.6 中的查询是:

SELECT *
FROM movies
WHERE movies.title LIKE '%example%'
GROUP BY movies.id

如果我有两部电影具有相同的 ID,它只会显示一部电影,而不是该电影及其副本。

当我升级到 MySQL 5.7 时,GROUP BY 给我错误,我被告知使用 ORDER BY。但是这个查询:

SELECT *
FROM movies
WHERE movies.title LIKE '%example%'
ORDER BY movies.id

是否返回重复的电影。那么,有没有办法过滤掉它,并且只返回不重复的行?

编辑:例如,如果这是我的 movies 表:

movies
==================
| id | title |
==================
| 1 | example |
------------------
| 2 | example |
------------------
| 1 | example |
------------------

这是每个查询的输出:

Previous query result (with MySQL 5.6)
=======
1 | example
2 | example

New query result (with MySQL 5.7 and ORDER BY)
=======
1 | example
1 | example
2 | example

我希望最终结果不包含重复项(因此结果应该看起来像第一个查询结果)。

编辑 2:我知道我有点滥用 MySQL 处理 GROUP BY 的方式。不幸的是,我对 MySQL 没有太多经验,并从 StackOverflow 得到了答案。我只想返回表中不包含重复 id 的所有列。

最佳答案

我相信使用distinct关键字会很容易

SELECT distinct movies.*
FROM movies
WHERE movies.title = 'example'

关于MySQL 5.7 基于不同的列返回表的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37293075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com