Hashtagprojekt – Datenbankabfragen

Mit Bekanntgabe des Projektes und Freigabe der Rohdatenpakete erreichen mich immer wieder Anfragen zu möglichen Queries. Die nachfolgenden Beispiele bilden einen Teil unserer Dateninterpretationssoftware ab.

[Prüfzeitpunkte]
select datum from example.tags group by datum;
Funktion: Ausgabe aller Prüfzeitpunkte.

[Häufungsauflistungen]
select haeufung from example.tags group by haeufung;
Funktion: Ausgabe aller erfassten Häufungen, unabhängig von Tag und Erfassungsdatum

[komplette Tagauflistung(en)]
(1) Pauschale Auflistung
select tag from example.tags group by tag;
Funktion: Auflistung aller erfassten Tags
(2) Auflistung inkl. Häufungen
select tag, haeufung from example.tags group by tag;
Funktion: Auflistung aller erfassten Tags inkl. deren Häufungen
(3) Auflistung inkl. Häufungen, nach Häufungsfilter
(3.1) absteigend
select tag, haeufung from example.tags where haeufung >=1000 group by tag order by haeufung desc;
Funktion: Auflistung aller Tags inkl. deren Häufungen, ab einer Mindesthäufung (absteigend nach Häufung)
(3.2) aufsteigend
select tag, haeufung from example.tags where haeufung >=1000 group by tag order by haeufung asc;
Funktion: Auflistung aller Tags inkl. deren Häufungen, ab einer Mindesthäufung (aufsteigend nach Häufung)

[Recherche(n)]
(1) Wortrecherche
select tag from example.tags where tag like 'leipzig%' group by tag;
Funktion: Ausgabe aller Tags, wo das gesuchte Wort am Anfang der Ergebnisse steht.
select tag from example.tags where tag like '%leipzig' group by tag;
Funktion: Ausgabe aller Tags, wo das gesuchte Wort am Ende der Ergebnisse steht.
(1.2) Wortrecherche mit Ausgabe der Häufungen
select tag, haeufung from example.tags where tag like 'leipzig%' group by tag;
select tag, haeufung from example.tags where tag like '%leipzig' group by tag;
(1.3) Wortrecherche nach Datum
select tag from example.tags where tag like 'leipzig%' and datum = '31.12.2016' group by tag;
select tag from example.tags where tag like '%leipzig' and datum = '31.12.2016' group by tag;
Bei beiden Ausgabebefehlen muss (!) im Vorfeld abgeklärt werden, ob in der Datenbank Einträge zum gesuchten Datum existieren.
(1.4) Wortrecherche nach Häufung
select tag, haeufung from example.tags where tag like 'kinder%' and haeufung > 1000 group by tag;
(1.5) Wortrecherche nach Häufung mit Datumsauflistung(en)
select tag, haeufung, datum from example.tags where tag = 'zimmer' and haeufung > 1000;

(2) Gruppenrecherche(n)
select tag from example.tags where tag like 'kind%' and tag like '%garten%' group by tag;
Funktion: Ausgabe aller Tags mit den Wortbestandteilen „Kind“ (Position: Anfang) und „Garten“ (Position: Egal)
select tag from example.tags where tag like 'kind%' and tag like '%garten' group by tag;
Funktion: Ausgabe aller Tags mit den Wortbestandteilen „Kind“ (Position: Anfang) und „Garten“ (Position: Ende)

[Erklärungen und Hinweise]
Die genannten Beispiele lassen sich im SQLite-Studio via Hauptmenü [Werkzeuge]=>[SQL-Editor] benutzen und wir nutzen einen Teil der o.g. Liste für die Features des eigenen Rechercheclients und Instagrambot. Durch die große Datenansammlung (freigegeben: ~70 Mio Datensätze) können die Zeiträume zwischen Abfrage und Ergebnispräsentation – je nach Hardware, Betriebssystem – zwischen 5 und 20 Sekunden andauern und ich empfehle bei intensiveren Rechercheprozeduren eine Auslagerung auf SSD-Platte (Bearbeitungsdauer ca. halbiert!).