Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Abfrage Anzahl Werte für bestimmte Nutzer

Begonnen von zoulhh, Februar 09, 2023, 12:37:53

⏪ vorheriges - nächstes ⏩

zoulhh

Moin zusammen,

es ist bestimmt simpel, aber ich seh den Wald mal wieder nicht. Ich hab auch das Forum gelesen, weiß aber nicht, wonach ich suchen soll.

Ich habe eine Tabelle mit Namen von Schülern (Schülername) und Deutschnoten (Deutschnote). Die Noten gehen nur von 1-3, warum ist egal.

In der Tabelle sieht das dann so aus

Marion 1
Peter 2
Peter 2
Peter 2
Marion 2
Peter 1
Lars 3

Es kommen also mehrere Datensätze mit den gleichen Schülern vor. Was ich nun haben möchte ist eine Abfrage, die mir ausgibt, wie viele Einsen, Zweien oder Dreien ein Schüler hat. Also

Marion Einsen (1)  Zweien (1) Dreien (0)
Peter Einsen (1) Zweien (3) usw

Das Sahnehäubchen wäre natürlich noch die Durchschnittsnote (Marions Werte Einsen + Werte Zweien + Werte Dreien) / (Anzahl Datensätze Marion). Aber danach trau ich mich nicht zu fragen.

Ich war wirklich nicht faul, aber ich bekomme es einfach nicht hin.

Wenn jemand Zeit hat zu helfen, wäre das unheimlich freundlich. Vielen Dank.

LGM


Josef P.

Hallo!

Du willst nach Schülername und Deutschnote gruppieren und dann die Anzahl dieser Gruppen ermitten?
Dieses Ergebnis soll dann in einer Kreuztabelle dargestellt werden?

Schubser ausreichend? ;)

Gruß
Josef

zoulhh

Hey,

danke für Deine Antwort. Leider nicht. Ich hab da schon X Abfragen erstellt, aber sie machen alle nicht das, was ich will. Ich will die Schüler schon gruppieren, und dann die Anzahl der "Deutsch 1" "Deutsch 2" und "Deutsch 3" anzeigen. Soweit war ich schon. Aber bei meiner Herangehensweise wurden zwar die Schüler gruppiert (kamen also nicht doppelt vor) aber alle hatten die gleiche Anzahl Einsen, Zweien und Dreien. Ich raff es einfach nicht.

LGM

Josef P.

1. Abfrage:
select
    Schülername, Deutschnote, Count(*) as AnzahlNote
from
    DeineTabelle
group by
    Schülername, Deutschnote
2. Abfrage:
Mache aus 1. Abfrage eine Kreuztabelle.

Gruß
Josef

andyfau

Beste Grüße
Andreas

zoulhh

Zitat von: Josef P. am Februar 09, 2023, 13:32:411. Abfrage:


Moin Josef,

danke für Deine Antwort. Grundsätzlich ist das schön ein toller Schritt nach vorn. Allerdings werden pro Schüler mehrere Zeilen ausgegeben. Was ich aber möchte ist eine Zeile, in der der Schülername steht, wie viele Einsen er insgesamt in Deutsch hat, wie viele Zweien und wie viele Dreien. Dasselbe für weitere Fächer, wie Englisch und am Ende eine Gesamtnote über alle Fächer. Vielleicht ist das aber auch gar nicht möglich weil zu wild.

Danke für Deine Zeit und Hilfe.

LGM

ebs17

ZitatDasselbe für weitere Fächer, wie Englisch
Das gibt Deine Tabelle nicht her.

TRANSFORM
   COUNT(*) AS XY
SELECT
   SchülerName,
   Fach,
   AVG(Note) AS D
FROM
   BessereTabelle
GROUP BY
   SchülerName,
   Fach
PIVOT
   Note

ZitatGesamtnote über alle Fächer
... würde man über eine weitere Abfrage ermitteln

Das Über- und Untereinander der Ergebnisse könnte man in einem Formular umsetzen.
Mit freundlichem Glück Auf!

Eberhard

Josef P.

ZitatAllerdings werden pro Schüler mehrere Zeilen ausgegeben. Was ich aber möchte ist eine Zeile, in der der Schülername steht, wie viele Einsen er insgesamt in Deutsch hat, ...
Darum schrieb ich:
2. Abfrage: Mache aus 1. Abfrage eine Kreuztabelle.

Gruß
Josef

zoulhh

Danke Ihr Lieben. Ich bin zu blöd für diese Abfrage. Ich löse es über VBA und gebe die Werte dann aus.

MzKlMu

Gruß Klaus

andyfau

Beste Grüße
Andreas


Beaker s.a.

Hallo,
Ich will mich ja nicht allzu weit aus dem Fenster lehnen weil die
Regulars, die bis jetzt geantwortet haben mir doch um Einiges
voraus sind, aber das ist doch Murks.
Bei mehreren Noten für ein Fach und dann noch mehreren Fächern
kommt man doch mit der einen Tabelle, und dann noch ohne PK, nicht
auf einen grünen Zweig.
Tabellen für Schüler, Fächer und Noten sowie einer n:m um die
zusammen zu bringen würden mir da schon einfallen.
Der Hinweis kam ja auch schon von Eberhard, wenn auch etwas unterschwellig
ZitatDas gibt Deine Tabelle nicht her.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Josef P.

[OT]
@ekkehard: ich nehme an, dass es um etwas ganz anderes als Noten geht und sich später herausstellen wird, dass das "Modell" nicht zur Wirklichkeit passt. Daher gehe ich nur auf das Gezeigte ein und hinterfrage das gar nicht. ;)

Das Prinzip:
1. Gruppieren
2. Pivot/Kreuztabellenabfrage erstellen
sollte mit jeder Komplexitätsstufe funktionieren.


Gruß
Josef

zoulhh

Ich glaube, Ekkehard hat recht, dass das die Tabelle nicht hergibt. Deswegen hab ich den Thread auch geschlossen. Ich hatte mir das einfacher vorgestellt. Ich wollten nur wissen, wie viele Einsen Zweien und Dreien jeder Schüler hat. Aber sobald ich mit Gruppieren arbeite, kommt da nur "Unsinn" heraus. Ich glaube, ich habe Euch nun genug beansprucht. Ich fummel einfach mal weiter rum...

LGM