Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu Aggregatsfunktion count()

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu Aggregatsfunktion count()

    Moinsen. Hab hier kleines Problemchen. Probiere scon seid ner Stunde rum und hab auch schon auf diversen Seiten geschaut. Nu frag ich einfach mal.

    Also ich habe eine Tabelle welche Daten von Gebieten, km-ständen, aktionen etc. enthält.
    Ich soll nun alle vorhandenen Gebiete zählen. Nur stelle ich mich da grad bissel zu doof an, wie es scheind.

    Select gebiet, count(*) as anzahl from TabHekto group by gebiet;

    Das is so was ich bis jetzt habe aber is ja totale Grütze. Da zählt er mir ja nur die Anzahl wie oft jedes Gebiet vorkommt.

    Wäre nett wenn mir einer helfen könnte.

    Gruß FiSiHRO
    http://www.zukunft-portal.de
    Nachrichten von allen für alle. Mach mit!

  • #2
    Code:
    SELECT 
      count(distinct gebiet)
    FROM 
      TabHekto
    --
    kostenlose geschenklisten unter www.wunli.de

    Kommentar


    • #3
      Danke für die Antwort. Das hatte ich auch schon ausprobiert und ebend sicherheithalber auch nochmal. Da spuckt er aber immer einen Fehler aus: Syntaxfehler (fehlender Operator) in Abfrageausdruck 'count(distinct gebiet)'

      Weitere Vorschläge?

      Gruß FiSiHRO
      http://www.zukunft-portal.de
      Nachrichten von allen für alle. Mach mit!

      Kommentar


      • #4
        welche mysql-Version hast du.

        ansonsten kann ich dir nur raten
        Code:
          select distinct gebiet from TabHekto
        und dann in der Applikation die Anzahl der Zeilen auslesen.
        --
        kostenlose geschenklisten unter www.wunli.de

        Kommentar


        • #5
          Wird mit Access gemacht. In Verbindung mit c/c++.

          Wenn keiner einen anderen Vorschlag hat, werd ich sie dann wohl so auslesen.
          Danke für deinen Vorschlag.

          Gruß FiSiHRO
          http://www.zukunft-portal.de
          Nachrichten von allen für alle. Mach mit!

          Kommentar


          • #6
            Das dann bitte immer gleich bei der Frage dazuschreiben.
            Denn diese Kategorie hier heißt MYSQL. Und jede Datenbank hat ihre Eigenheiten.
            Glück gehabt, DISTICT gehört nicht dazu, sondern ist sql Standard.

            Aber sind Deine Gebiete nicht eh' in einer anderen Tabelle ausgelagert?
            Also ich habe eine Tabelle welche Daten von Gebieten, km-ständen, aktionen etc. enthält.
            Beschreib diese tabelle bitte mal genauer. Für mich klingt es erstmal, als wäre sie nicht normalisiert.

            Kommentar


            • #7
              tabell:

              id (primärschlüssel)
              gebiet (text(60))
              fluss (text(60))
              kategorie (text(60))
              name (text(110))
              km (zahl)
              ufer (text(2))
              rw (zahl)
              hw (zahl)
              bemerkung (text(255))

              Sorry das ich nicht mit angegeben habe, dass es Access ist.
              Gebiete sind nicht woanders ausgelagert. Stehen direkt dort drinne.

              Gruß Patriot76
              http://www.zukunft-portal.de
              Nachrichten von allen für alle. Mach mit!

              Kommentar


              • #8
                Dann such Dir mal was zu den drei Normalenformen bei relationalen Datenbanken raus.
                Dann gehen viele Sachen leichter und wesentlich schneller, zB das Zählen der Gebiete.

                Tabelle Gebiete:
                gebiet_id autowert
                gebiet_name text(60)

                Tabelle KeineAhnungWieDieHeisst
                id (primärschlüssel)
                gebiet_id zahl
                ...

                Zählen der Gebiete: SELECT Count(*) FROM Gebiete

                Warum sich das Aufteilen der Informationen auszahlt, sollte auch im tutorial zu den Normalformen stehen.

                Kommentar


                • #9
                  Ähm jo. Nur folgendes Prob: Ich bin Praktikant in ner Softwareentwicklungsfirma, und habe die Daten so vorgesetzt bekommen. Das ist nen ganzes Datenbankmodell, in dem ich nicht rumfuschen kann. Das Ding besteht schon aus circa 20 Tabellen.
                  Naja ich habs jetzt nach dem zweiten ersten Vorschlag gelöst

                  Danke nochmal.

                  Gruß FiSiHRO
                  http://www.zukunft-portal.de
                  Nachrichten von allen für alle. Mach mit!

                  Kommentar


                  • #10
                    Auweia.
                    Entweder gibt es einen wirklich guten grund für dieses Design oder es ist eben kein DB-Design sondern Pfusch.
                    Du bist Dir sicher, dass sich die Leute da mit Datenbanken auskennen?

                    Sorge bitte wenigstens dafür, dass es einen Index über das Feld gebiet gibt oder dass er eingerichtet wird.
                    So hat die Datenbank wenigstens eine Chance, DISTINCT aus dem Index zu bedienen .... auch wenn ich mir da bei access nicht so sicher bin.

                    Kommentar

                    Lädt...
                    X