Konuyu görüntüle
IUCODERS FORUM > Programlama > Veritabanları > Benzer kayıtları eleme
Yazar
shadoww


avatar
Metropol
Kayıt: 18.04.2008
05.09.2012-13:46 #78400


Merhaba arkadaşlar.Yukarıda ki tabloda yapmak istediğim şu.sender_id bir alt satırda ref_id ye eşitse bunlardan create_datei büyük olan kaydı almak istiyorum sadece.Yani bu tabloda elde etmek istediğim sonuçların id si 74 ve 80 id li satırlar.Diğer ikisini elemek istiyorum bunu nasıl yapabilirim acaba??





Ölüm sadece bir baslangictir. Sen ebediyete ne götürüyorsun ona bak...


Yazar
thongkum


avatar
MARDIN
Kayıt: 24.11.2006
05.09.2012-14:25 #78401
shadoww yazdi
 

...
Yukarıda ki tabloda yapmak istediğim şu.sender_id bir alt satırda ref_id ye eşitse bunlardan create_datei büyük olan kaydı almak istiyorum sadece.Yani bu tabloda elde etmek istediğim sonuçların id si 74 ve 80 id li satırlar


Sanırım iki cümle çelişkili ya da ben mi anlamadım bu durumda 73 ve 74 id li kayıtların gelmesi gerekmez mi..!





....








Yazar
mahmut716


avatar

Kayıt: 20.12.2006
05.09.2012-16:17 #78403
80nin senderid yanlış yazılmış zannedersem thinking
tahmin yürütmem gerekirse, bütün sorguyu bir select içine daha alıp ordan getdate'e yakın olanını seçebilirsin d oh





Java developer


Yazar
shadoww


avatar
Metropol
Kayıt: 18.04.2008
05.09.2012-19:01 #78404
Bir rowda sender_id = 3 ref_id = 2 diyelim bir sonraki kayıtta ise tam tersi yani ref_id = 3 sender_id = 2 işte bu tür benzerliği olan kayıtlardan sadece tarihi yüksek olan rowu almak istiyorum.





Ölüm sadece bir baslangictir. Sen ebediyete ne götürüyorsun ona bak...


Yazar
mahmut716


avatar

Kayıt: 20.12.2006
05.09.2012-20:05 #78405
select max(date) şeklinde deneme yapabilirmisin...





Java developer


Yazar
shadoww


avatar
Metropol
Kayıt: 18.04.2008
05.09.2012-20:19 #78406
mahmut716 yazdi
 
select max(date) şeklinde deneme yapabilirmisin...


Nasıl işte kardeş zaten yazamıyorum sorguyu o yüzden size soruyorum.Normalde bu tablodaki sonuçların ikisinin kalması gerekiyor.Bunu bi türlü beceremedim.





Ölüm sadece bir baslangictir. Sen ebediyete ne götürüyorsun ona bak...


Yazar
mahmut716


avatar

Kayıt: 20.12.2006
05.09.2012-20:36 #78407
shadoww yazdi
 
mahmut716 yazdi
 
select max(date) şeklinde deneme yapabilirmisin...


Nasıl işte kardeş zaten yazamıyorum sorguyu o yüzden size soruyorum.Normalde bu tablodaki sonuçların ikisinin kalması gerekiyor.Bunu bi türlü beceremedim.

tamam kardeş,yaptım şimdi kendi oluşturduğum tabloda peace
select top 1
şeklinde yazarsan kodunu istediğini alacaksın peace





Java developer


Yazar
shadoww


avatar
Metropol
Kayıt: 18.04.2008
05.09.2012-20:58 #78408
mahmut716 şu yazdığın kodu benimle paylaşır mısın? mysql kullanıyorum bu arada top yerine limit kullanmak lazım.





Ölüm sadece bir baslangictir. Sen ebediyete ne götürüyorsun ona bak...


Yazar
mahmut716


avatar

Kayıt: 20.12.2006
05.09.2012-21:19 #78409
hocam yukarda yazdığın kodun
select *from
kısmına
select top 1 *from
diyeceksin,mysql olması bişey değiştirmez peace





Java developer


Yazar
mahmut716


avatar

Kayıt: 20.12.2006
05.09.2012-21:22 #78410
pardon, mysqlde farklıymış dediğin gibi biggrin
http://www.w3schools.com/sql/sql_top.asp
şurdan bak,dediğin gibi limit terimini kullanman lazım
sql 2008de top 1 kodu normal çalıştı cool





Java developer


Yazar
mahmut716


avatar

Kayıt: 20.12.2006
05.09.2012-21:24 #78411
select *from usermessage limit 1
çalışması lazım peace





Java developer


Yazar
shadoww


avatar
Metropol
Kayıt: 18.04.2008
05.09.2012-22:54 #78412
Hocam limit 1 işlemi sadece 1 row geri dönderir..Benim burda amacım çıkan 4 adet row içerisinde bir gruplama yapmak.Mesela 80 kayıt var bunlardan sender_id ref_id çaprazlaması eşit olan kayıtlardan 1 adeti aldığımız zaman 40 tane dönmeligeriye.Bilmem meramımı anlatabiliyormuyum.bu taploda sender_id ref_id çapraz vaziyette eşit olan rowlardan sadece create_date i büyük olanı aldığımız zaman 74 ve 80. rowlar geri gelmeli.Bunun kısa bi yolu olmalı fetch cursor falan kullanmak istemiyorum çünkü kayıt sayısı büyüdüğü zaman epey bi kasıntı olacak proje için.





Ölüm sadece bir baslangictir. Sen ebediyete ne götürüyorsun ona bak...


Yazar
mstf


avatar
istanbul
Kayıt: 06.01.2012
06.09.2012-19:17 #78413
gruplamana gerek yok.şu sorguyu denermisin

select * from user_message WHERE (sender_id=sender_id AND ref_id=ref_id) OR (sender_id=ref_id AND ref_id=sender_id) ORDER BY create_date desc limit 0,1 











Yazar
mahmut716


avatar

Kayıt: 20.12.2006
06.09.2012-22:53 #78414
sonucu yazarmısın smile





Java developer


Yazar
shadoww


avatar
Metropol
Kayıt: 18.04.2008
07.09.2012-00:59 #78415
Malesef hocam tek kayıt geliyor





Ölüm sadece bir baslangictir. Sen ebediyete ne götürüyorsun ona bak...


1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb