SQL effizientes mehrdimensionales Histogramm erstellen?

Hallo,

ich habe folgende SQL Tabelle und würde aus dieser mit SQL Abfragen gerne ein mehrdimensionales Histogramm erzeugen.

Meine Tabelle:

`sex` => VARCHAR(1), //für Geschlecht

`age` => INT,

`salary` => INT

Gefüllt könnte z.B. so aussehen (aber mit viel(!) mehr Einträgen natürlich):

Am ende will ich mit meiner Abfrage folgende Ausgabe erzielen:

Wie man in der obigen Ausgabe sieht, will ich die Bereiche bei age und salary nicht(!) gleich verteilen. Alle Lösungen welche also immer in 10er Schritten gehen, funktionieren in meinem Fall nicht. Die "..." Zeile in der Ausgabe soll andeuten, dass die Bereiche bei F(emale) einfach nach der selben Logik (aber vielleicht mit unterschiedlichen Bereichsbreiten) weitergehen. Daran schließt sich dann M(ale), mit den gleichen Bereichen wie F(emale) an. Count gibt jeweils die Anzahl der gefundenen Einträge zu den gegebenen Einschränkungen an. Also z.B. für den ersten Fall sowas wie

SELECT COUNT(*) from `companysalaries` WHERE age >= 18 AND age <= 19 AND salary >= 0 AND salary <= 999 AND sex='F';

Mein bisheriger (funktionierender) Ansatz war:

  1. Stored procedure erstellen
  2. temporary tables als Hiflstabellen mit Bereichen füllen und Hilfstabelle für Ausgabe erstellen
  3. 3-fach geschachtelete WHILE schleife mit Select und INSERT in einen Ausgabetabelle

JETZT ZUR EIGENTLICHEN FRAGE:

Mir kommt meine bisherige Lösung sehr ineffizient vor (54 Zeilen :/), und ich denke mir, dass man ja eigentlich in so einer schönen Sprache wie SQL dieses Problem doch einfacher lösen können müsste. Meine Lösung habe ich auch schon mehrmals überarbeitet, aber ohne die Leserlichkeit aufzugeben, komme ich nicht wesentlich unter die 54 Zeilen. Daher die Frage, ob das irgendwie besser, effizienter und/oder kürzer geht. Die Lösung sollte zudem nur(!) SQL enthalten und keine sonstigen Erweiterungen benötigen/nutzen.

Danke im Voraus für alle Antworten

whgoffline

Bild zum Beitrag
Computer, Technik, SQL, programmieren, Datenbank, Informatik, Technologie
Federhalter zu schnell leer?

Hi,

ich habe mir letzens einen Federhalter der Marke Rheita geakuft. Es handelt um einen sehr günstigen Federhalter welcher direkt mit 3 Feder kommt, und laut Pakcung für

  • Kalligrapiheren
  • Zeichnen
  • Skizzieren
  • Beschriften

geeignet ist.

Dazu nutze ich noch (normale...?falsche...?) brilliant schwarze Tinte von Pelikan (4001).

Federhalter: https://www.mueller.de/p/rheita-federhalter-mit-3-federn-farblich-sortiert-20271/

Tinte: https://mam.pelikan.com/mam/de/pelikan/products/301168

Ich will den Federhalter primär zum zeichnen/skizzieren nutzen. Jetzt habe ich aber Videos im Internet zum Thema Inking und co. gesehen und hatte das gefühl, dass man recht viele Linien ziehen kann ohne wieder in die Tinte zu gehen...? Bei mir ist aber am Anfang (frisch aus der Tinte raus) der Strich ziemlich feucht und dick und dann nach paar cm hört der Strich einfach auf bzw. wird sehr inkonsistent. Deshalb stelle ich mir gerade folgende Fragen:

  1. Ist das vielleicht alles doch normal?
  2. Nutze ich die Falsche Tinte?
  3. Halte ich den Federhalte irgendwie flasch?
  4. Brauche ich bessere Federn (bei Mangas nutzen viele g-pen...?)
  5. Nutze ich falsches Papier (nutze aktuell Brunnen Skizzenblock 110g/m^2)?

Zur veranschaulichung des Probelems hier mal ein Bild von einem Versuch einen gleichmäßigen Strich von 20cm Länge zu zeichnen. Die Linien darunter sind alle mit dem Rest der Tinte auf der Feder entstanden, wie man aber sieht hielten diese Stiche auch nicht lange an. Verwendet habe ich die dünne 1mm Feder, aber die anderen haben identisches Problem.

Falls da also jemand weiteres weiß gerne her damit

und vielen Dank für alle Antworten im Voraus

whgoffline

Bild zum Beitrag
Kunst, zeichnen, Stifte, Füller, Kalligrafie, Kalligraphie
Pdf Tabelle in MySQL?

Hi,

folgendes Problem. Ich bin gerade dabei für meine Schule einen Vertretungplan neu zu Programmieren. Die Idee war es den Plan in einer MySql Datenbank zu speichern.

Etwa so

und ihn dann mit Php aus der Datenbank zu lesen und in eine HTML mit echo auszugeben. Der Teil funktioniert schonmal.

Sieht dann später ca. so aus. (Design bei weitem noch nicht fest.)

Der weiter Plan wäre dann z.b mit NodeJs Pushnachrichten an eine Vertretungsplan App zu schicken.

Jedenfalls funktionier das jetzige System an der Schule aber so, dass eine Lehrkraft, die für die Erstellung des Vertretungsplans zuständig ist, diesen in einer Anwendung erstellt, die zum einen anscheinend viele Vorteile bei der Erstellung hat (z.b kann man alle normalen Stundenpläne direkt einsehen und mit wenigen klicks den Plan erstellen), aber leider nur in PDF die Tabellen exportieren kann. Zurzeit wird die Pdf dann auf dem Server in eine png umgewandelt und mit php dargestellt. Da der Provider der Schulwebsite (webhosting (kein vServer oder ssh Zugriff)) php5 was z.b beim Login für den Vertretungplan noch benutzt wird einstellen wird und man alles eh auf php7 umschreiben muss, dachte ich diese modernisierung wäre auch gleich eine gute Idee.

Jedenfalls ist jetzt das Problem wie ich die Pdf Tabellen in Mysql schreiben kann.

(Mir ist natürlich bewusst das Tabellen bei PDF nicht mit Zeilen und spalten direkt kopiert werden können.)

Ein Programm mit Verwendung von irgendwelchen einfach librarys wäre auch kein Problem.

Hier nochmal ein Bild von der jetzigen Tabelle als PNG

(Alle verschiedenen Stufen also z.b 5,6,7 usw. müssten in eine Seperate MySQL Tabelle)

Danke für alle Antworten.

Bild zum Beitrag
Lässt sich irgendwie von PDF konvertieren und in MySQL schreiben 100%
Ein neues Programm zur Erstellung mit direktem MySQL sup schreibe 0%
Computer, Technik, PDF, Webseite, Datenbank, MySQL, OCR, PHP, Technologie, Abstimmung, Umfrage
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.