我有 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/