2016-04-07 19 views
1

Ich habe drei Säulen:SQL Zählen bestimmter Spalten

Course Ereignis

Namen, Supervisor, legen

AAAA  martha  3 
BBBB  josh  2 
AAAA  evelyn  1 
AAAA  martha  4 
AAAA  josh  5 

Course

Code, Preis

Platz

id, name

ich finden courseevents möchten, die an atleast 4 verschiedenen Orten gehalten wurde. Ohne Duplikate.

+0

Was haben Sie schon versucht? –

Antwort

2

können Sie count(distinct place) verwenden, um die Anzahl der einzigartigen Plätze pro Ereignis zu zählen und nur diejenigen auswählen, die mindestens 4:

select name 
from course_event ce 
group by name 
having count(distinct place) >= 4 

Update:

select 
    user_id 
    , count(*) as count_distinct_places 
from 
    (select distinct 
      name, 
      place 
     from course_events 
    ) t 
group by name 
having count(*) >= 4 
+0

Hi das scheint eine gute Lösung, sauber und leicht zu verstehen. Ich kann es nicht mit Access arbeiten, aber es gibt mir Abfragefehler (fehlende Operator) in Abfrageausdruck Anzahl (eindeutiger Ort)> = 4 – Ilja

+0

@Ilja MS-Zugriff unterstützt nicht 'count (distinct)' – FuzzyTree

+0

gut, dass saugt. Kennen Sie eine Lösung mit ms-access SQL-Code? – Ilja

Verwandte Themen