Kullanıcı ve arkadaş masam var. Kullanıcı detaylarına ve kullanıcıya sahip olan kullanıcıların kullanıcı arkadaşları vardır. İşte karşılıklı ile arkadaşının rastgele 5 arkadaş getirmek istiyorum BuradaArkadaş sayısı rastgele arkadaşının yanına git
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));
kullanıcı tablonun şema ..
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)
);
ve arkadaşı tablo ..
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);
profil resmi olan arkadaş sayısı
Bu sorguyu denedim
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
Bu sorgu, arkadaşımın ve arkadaşlarımın arkadaşlığını ve karşılıklı sayımını da gösterir. Sorguyla tried. MySQL
sen bakılmaksızın 'karşılıklılık', arkadaşlarınızla ve her bir sayımın arkadaşlar gösteren bir sorgu oluşturmak miyim? – Strawberry
Ben plese çalışıyordum [see] (http://sqlfiddle.com/#!2/b7581/4) – user2302288