mysql 如何避免 select 请求中的数据重复

标签 mysql sql

我有 2 张 table :
用户:id、access_token QUERIES:id、query、user_id,user_id是外键
如何发出选择请求以以下格式返回数据:
{user_id: {[此用户的查询], access_token}, ...}

查询:

SELECT USERS.id,
       USERS.access_token,
       QUERIES.query
FROM USERS
INNER JOIN QUERIES ON USERS.id=QUERIES.user_id;

我有重复的users.id和users.access_token。我尝试使用 GROUP BY 来获取答案,如我的示例所示,但 group by 没有帮助

谢谢。

最佳答案

这就是 SQL 的工作原理。如果您想在一个查询中从两个表中进行选择,那么您将从用户表中获取列的重复数据。

SQL 只能返回每行具有相同列的结果集。所以它必须在那里放一些东西。

处理此问题的最常见方法是循环数据,如果 user_id 与前一行相同,则不将其输出给您的用户。

关于mysql 如何避免 select 请求中的数据重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42153184/

相关文章:

mysql - Laravel 查询获取错误数据

php - 使用 php 生成的列表

mysql - 由于 WHERE 而没有限制列表的 SQL 计数函数

php - 如何在sql中用group concat连接三个表

c# - 将日期时间作为包含数量字段的列的 SQL 透视

sql - 获取聚合值

sql - 如何向 mysql 5 存储过程中运行的查询传递限制?

php - 是否可以在 while 循环中嵌套 for 循环?

mysql - 这种情况需要使用 InnoDB 还是 MyISAM?

php - 选择具有三个级别的评论