alexa-tracking

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/53259df45ccb17bd120000ca/ane-kasih-100-rb-kalo-bisa-bantu-query-ini
[ASK] Ane kasih 100 rb kalo bisa bantu query ini..
Thanks yang udah mau liat thread ane, problemnya udah solved gan oleh agan beluvedia..
Spoiler for closed:







emoticon-Sundulemoticon-Sundulemoticon-Sundul
Coba taruh querynya disini gan http://sqlfiddle.com
Nanti gw bantu kalo udah ada disana.
Satu pertanyaan untuk memperjelas maksud juragan
"Jikalau ada 1 juta user di tabel users dan si komeng adalah user yang baru registrasi dan tentu saja si komeng belum mempunyai teman, apakah tetep keluarannya seperti ini?"
user_id fullname mutual_friend is_friend request
1 Entong 0 no no
2 Malih 0 no no
3 Bolot 0 no no
4. Bokir 0 no no
..... terus sampe 1 juta record ke ambil semua

percuma kan gan? kenapa gk ngambil data yang udah jelas aja ada kaitannya dengan si komeng.
Bangun tidur ada ginian emoticon-Sorry
Maksud TS bikin ky gini?
Spoiler for :

Kalo iya, pm ane ya... Lumayan bangun tidur dapet cepek buat beli kopi & gorengan emoticon-Ngakak
Spoiler for Kalo gak:


Quote:Original Posted By system69
Satu pertanyaan untuk memperjelas maksud juragan
"Jikalau ada 1 juta user di tabel users dan si komeng adalah user yang baru registrasi dan tentu saja si komeng belum mempunyai teman, apakah tetep keluarannya seperti ini?"
user_id fullname mutual_friend is_friend request
1 Entong 0 no no
2 Malih 0 no no
3 Bolot 0 no no
4. Bokir 0 no no
..... terus sampe 1 juta record ke ambil semua

percuma kan gan? kenapa gk ngambil data yang udah jelas aja ada kaitannya dengan si komeng.

Mungkin buat traversing member gan, prakteknya nanti juga pake limit kalo datanya banyak.
Kalau masih sedikit mungkin bisa seperti ini:
Spoiler for Sql:


setuju dengan agan system69, bukannya untuk seperti ini lebih efficient bila datanya di cari per-user.
Spoiler for Sql:
Quote:Original Posted By system69
Satu pertanyaan untuk memperjelas maksud juragan
"Jikalau ada 1 juta user di tabel users dan si komeng adalah user yang baru registrasi dan tentu saja si komeng belum mempunyai teman, apakah tetep keluarannya seperti ini?"
user_id fullname mutual_friend is_friend request
1 Entong 0 no no
2 Malih 0 no no
3 Bolot 0 no no
4. Bokir 0 no no
..... terus sampe 1 juta record ke ambil semua

percuma kan gan? kenapa gk ngambil data yang udah jelas aja ada kaitannya dengan si komeng.


Sebenarnya result tersebut untuk hasil pencarian gan. Tentunya gak keluar sejuta user. Kira kira querynya kalo ditambah untuk pencarian hasilnya seperti ini:

Quote:
SELECT

User.id,

User.fullname,

SUM( IF( User.id = friend_links_1.friend_id, 1, 0 ) ) AS mutual,

IF(SUM( IF( User.id = Friendship.friend_id, 1, 0 ) ) > 0 , '1' , '0') as already_friend

FROM

users as User

INNER JOIN (

friendship as Friendship

INNER JOIN

friendship friend_links_1

ON

(

Friendship.friend_id = friend_links_1.user_id

AND

Friendship.status = 1

AND

friend_links_1.status = 1

)

)

ON

(

Friendship.user_id = 1

AND

User.id <> 1

)



WHERE 1

AND
User.fullname like '%$keywords%'
GROUP BY

User.id, User.fullname

ORDER BY mutual DESC

LIMIT 0 , 30


Ilustrasinya seperti facebook, jika kita searching teman walaupun kita member baru khan tetep keluar resultnya gan.. Thanks udah mau liat thread ane, ane bisa bantu gak gan..?

Quote:Original Posted By beluvedia
Bangun tidur ada ginian emoticon-Sorry
Maksud TS bikin ky gini?
Spoiler for :

Kalo iya, pm ane ya... Lumayan bangun tidur dapet cepek buat beli kopi & gorengan emoticon-Ngakak
Spoiler for Kalo gak:



Mungkin buat traversing member gan, prakteknya nanti juga pake limit kalo datanya banyak.



Sebentar gan ane coba dulu yah...

Quote:Original Posted By soeleman
Kalau masih sedikit mungkin bisa seperti ini:
Spoiler for Sql:


setuju dengan agan system69, bukannya untuk seperti ini lebih efficient bila datanya di cari per-user.
Spoiler for Sql:


Ane coba dulu yah gan querynya, sebenarnya query tersebut untuk searching friend gan. Tentunya hasilnya gak keluar sejuta user, hanya user dengan fullname yang match dengan keywordnya saja. Dan pastinya ane kasih limit

Thanks buat agan beluvedia, querynya berhasil gan.. emoticon-Selamat emoticon-Selamat emoticon-Selamat

Quote:Original Posted By beluvedia
Bangun tidur ada ginian emoticon-Sorry
Maksud TS bikin ky gini?
Spoiler for :

Kalo iya, pm ane ya... Lumayan bangun tidur dapet cepek buat beli kopi & gorengan emoticon-Ngakak
Spoiler for Kalo gak:



Mungkin buat traversing member gan, prakteknya nanti juga pake limit kalo datanya banyak.


emoticon-Selamatemoticon-Selamatemoticon-Selamatemoticon-Selamat
Quote:Original Posted By soeleman
Kalau masih sedikit mungkin bisa seperti ini:
Spoiler for Sql:


setuju dengan agan system69, bukannya untuk seperti ini lebih efficient bila datanya di cari per-user.
Spoiler for Sql:


Thanks yah gan udah mau bantu, udah solved gan sama agan beluvedia. Sekali terimakasih undah mau ikut bantu ane..
Quote:Original Posted By beluvedia
Bangun tidur ada ginian emoticon-Sorry
Maksud TS bikin ky gini?


Bangun tidurnya jam dua pagi emoticon-Takut (S)
Quote:Original Posted By peyotpetot


Bangun tidurnya jam dua pagi emoticon-Takut (S)

Iya om, ane hampir gak pernah begadang, tapi kalo bangun dini hari hampir tiap hari. Lebih baik gini daripada begadang. emoticon-Malu (S)
Quote:Original Posted By beluvedia
Iya om, ane hampir gak pernah begadang, tapi kalo bangun dini hari hampir tiap hari. Lebih baik gini daripada begadang. emoticon-Malu (S)


emoticon-thumbsup

emoticon-Ngacir
Quote:Original Posted By Syinn


emoticon-thumbsup

emoticon-Ngacir

^ junker
Quote:Original Posted By beluvedia

^ junker

buset ga kurang subuh om emoticon-Hammer

------------------

berarti dah kelar ya?
di merge aja di trit sql emoticon-Smilie
Quote:Original Posted By mak.godek
buset ga kurang subuh om emoticon-Hammer

------------------

berarti dah kelar ya?
di merge aja di trit sql emoticon-Smilie


Iyah gan dah kelar, thanks yah kaskuser emoticon-thumbsupemoticon-thumbsupemoticon-thumbsup
iyah gan udah kelar, thanks yah kaskuser..emoticon-thumbsupemoticon-thumbsupemoticon-thumbsup
Quote:Original Posted By dr.linggis

Thanks yah gan udah mau bantu, udah solved gan sama agan beluvedia. Sekali terimakasih undah mau ikut bantu ane..

Senang dapat memberikan opsi.

oh ya gan, bisa bantu cross check saja, buat documentasi saya pribadi saja.

untuk table users, dengan data:
Ane kasih 100 rb kalo bisa bantu query ini..

untuk table friendships, dengan data:
Ane kasih 100 rb kalo bisa bantu query ini..

apakah result query yang ingin di capai seperti ini (A):
Ane kasih 100 rb kalo bisa bantu query ini..

atau seperti ini (B):
Ane kasih 100 rb kalo bisa bantu query ini..

karena kalau melihat sample result agan harus-nya A, tapi hasil dari agan beluvedia adalah yang B. bedanya di user (id: 4, fullname: Bokir).
Jadi harus-nya yang A atau B resultset yang ingin di capai?
thx.
Quote:Original Posted By soeleman

Senang dapat memberikan opsi.

oh ya gan, bisa bantu cross check saja, buat documentasi saya pribadi saja.

untuk table users, dengan data:
Ane kasih 100 rb kalo bisa bantu query ini..

untuk table friendships, dengan data:
Ane kasih 100 rb kalo bisa bantu query ini..

apakah result query yang ingin di capai seperti ini (A):
Ane kasih 100 rb kalo bisa bantu query ini..

atau seperti ini (B):
Ane kasih 100 rb kalo bisa bantu query ini..

karena kalau melihat sample result agan harus-nya A, tapi hasil dari agan beluvedia adalah yang B. bedanya di user (id: 4, fullname: Bokir).
Jadi harus-nya yang A atau B resultset yang ingin di capai?
thx.



Hasil yang diharapkan yang B gan. Karna si Entong hanya berteman dengan Malih artinya si Entong hanya punya 1 teman yaitu Malih.

Jadi member lain yang berteman dengan si Malih memiliki nilai mutual adalah 1. Karna si Bolot berteman dengan si Malih berarti nilai mutualnya adalah 1 begitu juga dengan si Bokir, karena berteman dengan si Malih maka nilai mutualnya juga 1.

Kalo hasil yang di berikan agan berarti si Bokir tidak berteman dengan Malih.

CMIIW ...