我有一个名为connections
的友谊系统表。列是:
id
,from
,to
,direction
,liking
每当用户发送好友请求时,会添加一行并将direction设置为1(1表示正向,2表示反向)。当其他用户接受好友请求时,会添加另一行并将方向设置为2.
我正试图找出一种方法来吸引用户的朋友。但是当我执行以下查询时,会重复行。
SELECT
`users`.`name`,`users`.`id`
FROM
`connections`,
`users`
WHERE
(
`connections`.`from` = 1234 AND
`connections`.`to` = `users`.`id` AND
`connections`.`direction` = 1
)
OR
(
`connections`.`to` = 1234 AND
`connections`.`from` = `users`.`id` AND
`connections`.`direction` = 2
)
如何修改此查询以使行不重复?
更新:我添加了两行,因为有一列liking
。 “不同的用户连接”的值不同。
示例 - A
对B
的喜好为0.95。并且B
可能只对0.25
A
感到满意{。}}。
答案 0 :(得分:0)
根据您的评论,您可以添加外部查询:
SELECT
name, DISTINCT(id) AS id
FROM
(original query)
您说在朋友接受请求时添加一行。这会产生两行。使用新方向更新现有行会不会更有意义吗? - 根据评论忽略最后一部分