Spinnendatenbank: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Martin (Diskussion | Beiträge) Sortieren nach Datum |
Martin (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
=Anleitungen= | |||
* In bestehende Tabelle [[Fangdaten nachladen]] | |||
=SQL-Sammlung für Spinnen-Datenbank= | =SQL-Sammlung für Spinnen-Datenbank= | ||
== Liste nach Datum Gruppieren== | == Liste nach Datum Gruppieren== | ||
Version vom 9. Januar 2026, 22:21 Uhr
Anleitungen
- In bestehende Tabelle Fangdaten nachladen
SQL-Sammlung für Spinnen-Datenbank
Liste nach Datum Gruppieren
Problem: Datum1 und Datum liegen als VChar vor und eine Sortierung würde nach den Tagen vorgenommen. Für korrekte Sortierung muss der Datumsstring in ein Datum umgewandelt werden: STR_TO_STR(datestring, Format)
Die in MariaDB eingebaute Prozedur STR_TO_STR() erwartet als ersten Parameter den Datumsstring und als zweiten einen Formatstring, welcher definiert, welches Format der Datumsstring hat.
SELECT * FROM `data_raw_idx`
WHERE datum LIKE "%2024"
AND OrtID=314 -- = NSG Höltigbaum
GROUP BY STR_TO_DATE(datum, '%d.%m.%Y');
Welche Orte gibt es in Projekt mit ProjektID=1?
Mit Angabe der OrtID
SELECT OrtID, Ortsname
FROM meta_Orte, ref_Projekte_Orte
WHERE ProjektID=1
AND OrtID=IDOrt
GROUP BY Ortsname;
Ortsliste mit zugehörigen Biotopen:
SELECT o.ortsname, d.biotop
FROM data_raw_idx AS d, ref_Projekte_Orte AS r, meta_Orte AS o
WHERE r.ProjektId=1 -- <== Variable hier!
AND d.OrtId=r.OrtId
AND r.OrtId=o.idOrt
GROUP BY o.ortsname, d.biotop;
Artenliste nach Standorten eines Projektes
Hier: ProjektID=1 (Green roof, Hamburg)
SELECT Data.Artname, O.Ortsname AS Ort
FROM data_raw_idx AS Data, meta_Orte AS O, ref_Projekte_Orte AS R
WHERE R.ProjektID=1
AND R.OrtID=O.IdOrt
AND Data.OrtID=R.OrtID
GROUP BY Ort, Artname;
Das selbe mit Ausgabe der Individuenzahl:
SELECT Data.Artname, SUM(Data.mm+Data.ww+Data.juv+Data.ind) AS Individuen, O.Ortsname AS Ort
FROM data_raw_idx AS Data, meta_Orte AS O, ref_Projekte_Orte AS R
WHERE R.ProjektID=1
AND R.OrtID=O.IdOrt
AND Data.OrtID=R.OrtID
GROUP BY Ort, Artname;
Gesamtartenliste des Projektes ohne Angabe von Orten oder Individuen:
SELECT Artname
FROM data_raw_idx AS d, ref_Projekte_Orte AS r
WHERE r.ProjektID=1
AND r.OrtID=d.OrtID
GROUP BY Artname;