Çok basit bir sql cümlesi ama Access de çalışmıyo

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Çok basit bir sql cümlesi ama Access de çalışmıyo

Mesaj gönderen muskut »

Diğelim ki; TABLE diye bir tablomuz ve ISIM diye bir alanımız var. Ben istiyorum ki tabloda kaç çeşit isim var? Sayısını elde etmek istiyorum. Ne yaparım;

Select Count (Distinct ISIM) as MIKTAR from TABLE

gibi. Bu SQL server da çalışıyor. Benim bunu Access de çalıştırmam lazım. Bu güne kadar Access de böyle birşeye ihtiyacım olmamıştı takii bu geceye kadar :) Yahuu bu cümle access de çalışmıyor. Bana farklı olan kayıt sayısı lazım, bi türlü buna uygun bi cümle yazamadım. Group By ile gruplayıp alayım dedim o da olmadı. Bu konuda ne önerirsiniz...
snofru
Üye
Mesajlar: 204
Kayıt: 19 Ağu 2004 02:57
Konum: /local/usr/src
İletişim:

Mesaj gönderen snofru »

Select Distinct Count (ISIM) as MIKTAR from TABLE

gibi deneseniz belki yer ama...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Select Distinct Count (ISIM) as MIKTAR from TABLE
buradaki sorgu cümleciğinde distinct kullanılmasının bir anlamı yok. zaten tek satır geri göner, ISIM alanını oluşturan satırlar. Onun yerine * da konulabilir. Sorgu ümleciğinin son şekli basitçe şöyle olmalı;

Kod: Tümünü seç

select count(*) as MIKTAR from TABLE
Belki de asıl istenen bu değildir :wink:

Amaç aynı değerli ISIM alanlarını bulmaksa "GROUP BY" eki ile sorguyu yazmak gerekiyor;

Kod: Tümünü seç

select ISIM, count(*) as MIKTAR from TABLE
group by ISIM
Bununla aynı isimli ;
Ahmet 5
Mehmet 7
Veli 3
Ali 1
...
v.s. şeklinde sonuç döner.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Kod: Tümünü seç

select count(*) from
(SELECT isim FROM table
group by isim)
bu sekilde calıstı bende ki access te
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Mesaj gönderen muskut »

Hepinize teşekkür ederim. Aradığım cevap gkimirti 'den geldi :) Ellerinize sağlık.
Cevapla