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

时间:2017-02-10 06:51:38

标签: mysql sql

我有两张桌子:
USER: id, access_token QUERIES: id, query, user_id,user_id是外键
如何以下一格式发出选择请求以返回数据:
{user_id: {[queries for this user], 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无效

感谢。

1 个答案:

答案 0 :(得分:1)

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

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

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