sorgu?

2012-12-13 17 views
8

Şöyle MS Access 2003'te bir tablo var: Ben kaç tane benzersiz kimlik bilmek istediğiniz her URL içinsorgu?

 

    *url   id* 
    example.com red 
    example.com blue 
    example.com blue 
    other.com  red 
    other.com  orange 
    more.com  blue 

. böylece bu durumda sonucu olmalıdır: Bu COUNT DISTINCT dayandığı için çalışmıyor bu durumda çözeltinin dışında SQL query to count number of different values çok benzer, ama bu Access'te desteklenmez

 

    *url    count of distinct id* 
    example.com   2   (because red and blue are the only values) 
    other.com   2 
    more.com    1 

. Access'te saymak için alternatif yollar bulmaya çalıştım ama korkarım ki cevapları anlamıyorum.

Bu nedenle, bu sorunun "msaccess'te farklı saymayı simüle etmek" şeklinde özetlenebilir sanırım.

Birisi bana bir ipucu verebilirse çok memnun olurum. Bu ise

SELECT url, count(id) as CountOfId 
FROM 
(
    SELECT distinct id, url 
    FROM yourtable 
) x 
GROUP BY url 

bir alt sorguda ayrı kimliği ve url almak ve sonra o sonucun saymak:

+1

+1 İyi bir deyim için (ve ilk önce yanıt için arşivleri arama! :). – Leigh

+0

İyi soru, Bu kesin sorunla mücadele ediyordum. –

cevap

5

Bu MS Access 2003'te çalışması gerekir (Ben sadece test).

+0

Çok teşekkürler, bu işe yarıyor. Yazım hatası (?) Olduğuna inandığım "x" yi kaldırdım ve işi harika yapıyor. Yardımın için minnettarım. – Raymond

+1

X, alt sorgu için bir takma addı. Ihtiyacım olan SQL server için kullanıyorum, ancak bu takma ad ile erişime çalıştım – Taryn

1

Farklı anahtar kelimeleri kullanmadan bunu yapmanın başka bir yolu. (Her ne kadar daha sonraki erişim sürümleri destekliyorsa da) bunu destekler:

+0

Teşekkür ederim, eğer önceki çözümle ilgili herhangi bir sorun varsa bunu deneyeceğim. – Raymond