Abfrage nach einer Reihe von Jahren

Gunnar Oehmichen <[email protected]>
Newsgroups gmane.comp.db.postgresql.german
Message-ID <[email protected]>
Einen schönen Guten Tag liebe Postgres-Liste,

folgende Tabelle (bzw der Übersicht halber nur ein paar Spalten).

samplenr, samplsite_id, land, date FROM mzb WHERE land = 'Niedersachsen' 
LIMIT 10;

  samplenr | samplsite_id |     land      |    date
----------+--------------+---------------+------------
    739301 |       607652 | Niedersachsen | 1998-09-24
    515068 |       600708 | Niedersachsen | 2004-07-14
    450866 |       602209 | Niedersachsen | 1988-07-07
    472640 |       602324 | Niedersachsen | 1987-09-01
    710011 |       603843 | Niedersachsen | 2007-09-15
    682046 |       604267 | Niedersachsen | 1999-06-09
    349092 |       604433 | Niedersachsen | 1986-10-01
    641748 |       605520 | Niedersachsen | 1992-05-18
    340837 |       607422 | Niedersachsen | 1989-09-12
    616966 |       600421 | Niedersachsen | 1994-05-25
(10 rows)

land hat mehrere EintrÀge

Alle Samplesites wurden meist jÀhrlich beprobt mit mehreren samplenr pro 
date, aber die Tabelle enthÀlt samplesites unterschiedlichster ZeitrÀume 
(zB nur von 1982 bis 1984 beprobt).Ich möchte einen bestimmten Zeitraum 
betrachten, sagen wir mal 1999-2002.

Zu erst einmal eine Abfrage, welche die Anzahl der samplsite_id, als 
count(distinct (samplsite_id)), der Proben in allen Jahren dieses 
Zeitraumes ausgibt.

SELECT
   mzb.land,
   count ( distinct (mzb.samplsite_id))
FROM
   public.mzb
WHERE
   EXTRACT (year from mzb.date) = 1999 AND
   EXTRACT (year from mzb.date) = 2000 AND
   EXTRACT (year from mzb.date) = 2001 AND
   EXTRACT (year from mzb.date) = 2002
GROUP BY mzb.land;

  land | count
------+-------
(0 rows)


Ich muss hier einen Fehler gemacht haben, da zum Beispiel folgende 
Abfrage besagt (ÃŒber weitere Abfragen rausgefunden), dass samplsite 
800963 in den entsprechenden Jahren EintrÀge hat.

SELECT distinct ( EXTRACT (YEAR from date)) as Probejahr
from mzb where samplsite_id = 800963
Order by Probejahr;

  bla
------
...
  1997
  1999
  2000
  2001
  2002
  2003
  2004
(21 rows)

Die grundsÀtzliche Frage, wie kann ich nach samplsites_id filtern welche 
in allen Jahren eines bestimmten Zeitraumes beprobt wurden?

Vielen Lieben Dank,

Gunnar
-- 
Gunnar Oehmichen
Quantitative Landscape Ecology
Institute for Environmental Sciences
University Koblenz-Landau
Fortstrasse 7
76829 Landau
Germany
http://www.uni-koblenz-landau.de/landau/fb7/umweltwissenschaften/landscape-ecology/Staff/gunnaroehmichen


-- 
Sent via pgsql-de-allgemein mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.