Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » Veritabanları » mysql de distinct problemi?


Veritabanları MySQL , MSSQL, SQL, Access, Oracle

Yanıt
 
LinkBack Seçenekler
Old 21.07.2007   #1 (permalink)
soncizgi
 
Üyelik Tarihi: 28.06.2006
Yer: Malatya
Yaş: 26
Mesaj: 10
mysql de distinct problemi?

Arkadaşlar şöyle bir problemim var.

oss_ogrenci_deneme tablom aşağıdaki kolonlardan oluşuyor
id, ogrenci_no, oss_deneme, puan, sonuc
Aşağıdaki gibi bir sorgu yaptığımda $satir2=mysql_num_rows($denemeresult);
bu kısımda hata mesajı veriyor.

Hata mesajı şu
mysql_num_rows(): supplied argument is not a valid MySQL result resource in line 63 ogrenci.PHP
63. satırda şu kod var
$satir2=mysql_num_rows($denemeresult);



PHP Code:
$denemeresult=mysql_query("SELECT id,ogrenci_no, distinct oss_deneme from oss_ogrenci_deneme WHERE ogrenci_no='$nosu'");

$satir2=mysql_num_rows($denemeresult);
if(
$satir2>0){
while(
$data2=mysql_fetch_array($denemeresult))
{
echo 
"<tr><td colspan=3> <a href=sonuclar.PHP?id=".$data2['id'].">".$data2['oss_deneme']."</a>
</td></tr>"
;    
    


Mesaj soncizgi tarafından 21.07.2007 (09:34) yeniden düzenlendi..
soncizgi şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 21.07.2007   #2 (permalink)
mceL
 
mceL's Avatar
 
Üyelik Tarihi: 30.11.2000
Yer: Bursa
Yaş: 20
Mesaj: 809
Re: mysql de distinct problemi?

DISTINCT ile tabloda belirtilen alanda ne kadar aynı değer olursa olsun sadece birbirinden farklı değerleri seçebiliyoruz.

Bir sorguda sadece belli bir alan DISTINCT olsun gibi bir kavramamız da yok. DISTINCT kullanılıyorsa tüm alanlar DISTINCT'e uyar.

Yani; SELECT DISTINCT id FROM TABLO demek, SELECT id FROM TABLO demekle eş değerdir. [1]


Sorgunuzu şu hale getirererek hatanın altından kalkabilirsiniz:

PHP Code:
$denemeresult=mysql_query("SELECT DISTINCT id,ogrenci_no,oss_deneme from oss_ogrenci_deneme WHERE ogrenci_no='$nosu'"); 
Ama sorgu sonucunda göreceksiniz ki bu sorgu sizin işinize yaramayacak. (Bkz. [1])
mceL şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 21.07.2007   #3 (permalink)
soncizgi
 
Üyelik Tarihi: 28.06.2006
Yer: Malatya
Yaş: 26
Mesaj: 10
Re: mysql de distinct problemi?

Dediğiniz şekilde yapıtım ama olmadı. Bütün verileri verdi.
Çıktısı
//
Deneme 1
Deneme 2
Deneme3
Deneme 1


gibi çıktı oysa benim istediğim Deneme 1'den 1 tanesini verse yeterli.
Aslında başka türlü deniyebilirm. Bir dizi içine atıp kontrolden geçirip aynı olnalrdan bir tanesini yazdırabilirm. Ama bu işi sorgudan halledebilsek daha iyi oluır.
Yardımlarınız için şimdiden teşekkürler
soncizgi şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 21.07.2007   #4 (permalink)
mceL
 
mceL's Avatar
 
Üyelik Tarihi: 30.11.2000
Yer: Bursa
Yaş: 20
Mesaj: 809
Re: mysql de distinct problemi?

Alıntı:
Dediğiniz şekilde yapıtım ama olmadı. Bütün verileri verdi.

Alıntı:
Ama sorgu sonucunda göreceksiniz ki bu sorgu sizin işinize yaramayacak. (Bkz. [1])
Bütün verileri vereceğini söylemiştim. Çünkü DISTINCT id dediğiniz zaman farklı idleri alacaktır ve id'lerde zaten farklıdır.


Sorgunuz için sadece SQL tabanlı şöyle bir yol izleyebilirsiniz:

Verileri oss_deneme'ye gruplandırıp ve bunlardan sadece birinin id'sini alıp genel sorguda "id IN (SORGU)" biçiminde kullanıp verileri alabilirsiniz

PHP Code:
mysql_query("SELECT id,ogrenci_no FROM tablo WHERE id IN (SELECT MAX(id) FROM tablo GROUP BY oss_ogrenci_deneme) AND ogrenci_no='$nosu'"); 
(Postgresql'de sorunsuz çalışıyor, MySQL için denemedim.)
mceL şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Yanıt

Etiketler
mysql , distinct , problemi



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC5

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 21:50.