Konuyu görüntüle
IUCODERS FORUM > Programlama > Veritabanları > count(distinct *)
Yazar
swan


avatar

Kayıt: 21.02.2011
25.07.2011-14:08 #75469
Selamlar,

Başlıkta gördüğünüz kullanım doğru değil, evet, distinct'e bir alan adı vermek zorundayım ama ben distinct'in

SELECT DISTINCT * FROM v_oss_m2k_cell_common


gibi bütün alanlara bakarak çalışmasını ve birbiriyle tamamen(bütün alanlarıyla) aynı olmayan kayıtların sayısını dönmesini istiyorum. (View'da unique kısıtı olan herhangi bir alan olmadığından alan adı veremiyorum) Başlıktaki amaca ulaşabileceğim bir query'i nasıl yazabilirim ?






Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
25.07.2011-14:28 #75471
hangi veritabanını kullanıyorsunconfused





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
25.07.2011-14:33 #75472
PostgreSQL'de şöyle çalıştırdım

select count(*) from (select count(*) from table group by table) t;






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
swan


avatar

Kayıt: 21.02.2011
25.07.2011-15:14 #75473
extreme yazdi
 
PostgreSQL'de şöyle çalıştırdım

select count(*) from (select count(*) from table group by table) t;


Sybase ASE kullanıyoruz da, ben yukarıdaki sorguyu anlamadım :(





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
25.07.2011-15:16 #75474
swan yazdi
 
extreme yazdi
 
PostgreSQL'de şöyle çalıştırdım

select count(*) from (select count(*) from table group by table) t;


Sybase ASE kullanıyoruz da, ben yukarıdaki sorguyu anlamadım :(


select count(*) from (select count(*) from v_oss_m2k_cell_common group by v_oss_m2k_cell_common) t;


Senin tablon için böyle






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
swan


avatar

Kayıt: 21.02.2011
25.07.2011-15:24 #75475
Group by kısmından dolayı "İnvalid column name" hatası veriyor, sondaki "t" nedir , onu anlayamadım.

Teşekkürler bu arada.





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
25.07.2011-15:30 #75476
swan yazdi
 
Group by kısmından dolayı "İnvalid column name" hatası veriyor, sondaki "t" nedir , onu anlayamadım.

Teşekkürler bu arada.


Postgresql'de tablo adını vererek tüm columnlar için group by yapabiliyormuşuz. Sizin kullandığınız veritabanında bu özellik yok anladığım kadarıyla. Bir stored procedure yazarak yada karışık sorgular ile yazabileceğinizi sanıyorum. T yazmamın sebebi bir sorgunun sonucunu tablo/view gibi kullanıyor olmam.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
yersah


avatar

Kayıt: 14.01.2008
25.07.2011-16:04 #75477
Self-join tarzı bir yapıyla viewi kendisiyle karşılaştırıp(where kısmında bütün alanları karşılaştırman gerekecek ) eşit olmayanların sayısını dönderebilirsin
veya cursor kullanıp kayıtları tek tek karşılaştırabirlirsin ama pek tavsiye etmem ilkinde tek seferde hesaplayacağını, ikincisinde n^2 seferde yapacak.





Yazar
swan


avatar

Kayıt: 21.02.2011
25.07.2011-16:49 #75480
Postgresql'de tablo adını vererek tüm columnlar için group by yapabiliyormuşuz

Önemli bir özellikmiş aslında.

Arkadaşın dediği gibi view'ı kendisiyle karşılaştırdım , mecburen.

İkinize de teşekkür ederim....





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