5
我有一個用戶和一個朋友表。具有用戶詳細信息和朋友的用戶具有用戶的朋友。這裏是交友朋友的隨機朋友
create table profile_pic(pic_id varchar(200),profile_pic_path varchar(1000),small_pic_path varchar(1000),
adddate varchar(100),userid varchar(60),foreign key(userid) references smsusers(id) ON DELETE CASCADE ON UPDATE CASCADE,
primary key(pic_id));
在這裏,我想獲取隨機5的朋友的朋友,相互用戶表的模式..
create table smsusers(
id varchar(60),
password varchar(50) not null,
fname varchar(30) not null,
lname varchar(30),
mailid varchar(50) not null,
gender varchar(10) not null,
primary key(id)
);
和朋友表..
create table friends_list(
friend_of varchar(60) NOT NULL,
friends_id varchar(60) NOT NULL,
friendship_status varchar(30),
friendship_date timestamp NOT NULL,
primary key(friend_of,friends_id),
foreign key(friend_of) references smsusers(id)
ON DELETE CASCADE ON UPDATE CASCADE);
資料相片朋友數
我試過這個查詢
SELECT DISTINCT ff.friends_id,
concat(u.fname,' ',u.lname),
pp.small_pic_path,
count(*) AS mutual_friend_count
FROM
friends_list f
JOIN friends_list ff
ON ff.friend_of =f.friends_id
LEFT JOIN smsusers u
ON
u.id=ff.friends_id
LEFT JOIN profile_pic pp
ON
ff.friends_id=pp.userid
WHERE f.friend_of = 1
AND ff.friends_id NOT IN (1)
GROUP BY friends_id
此查詢顯示朋友的朋友,也是我的朋友,並且互相計數也是不正確的。 查詢我tried。在MySQL
你可以構造一個查詢,顯示的朋友和相應的計數的朋友,不管 '互利' 的? – Strawberry
我正在嘗試[see](http://sqlfiddle.com/#!2/b7581/4) – user2302288