Re: Anzahl der unterschiedlichen DB-Einträge zählen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von fb (406 Beiträge) am Freitag, 7.Juni.2002, 19:27.
    Re: Anzahl der unterschiedlichen DB-Einträge zählen

      sortieren,

      wird durch
      1. Deine abfrage
      get "Geburtsjahr==*", "DB";
      
      holt doch schon die daten nach eben Geburtsjahr. Willst du die sortierung umdrehen sieht das so aus
      get "Geburtsjahr==* sort=-", "DB";

      2. das array @jahre ist nur dazuda die einträge später wieder genau in der gleichen reihenfolge auszuspucken wie si geholt wurden (da Hash nunmal nicht sortiert sind)

      etwas klarer?


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 6.Juni.2002, 10:02.
    Anzahl der unterschiedlichen DB-Einträge zählen

      Hallo Zusammen,

      in meiner DB habe ich die Geburtsjahre der einzelnen Communitymitglieder erfasst.

      Wie kann ich mir anzeigen lassen, wieviele Mitglieder in den einzelnen Geburtsjahren vertreten sind?

      Also so sollte es aussehen:

      <perl>
      get "Geburtsjahr==*","DB";
      while (get_next("DB"))
      {
      
      hier muss der code rein...
      }

      ... damit es nachher so aussieht:

      1960 = 14
      1961 = 20
      1962 = 17
      ...

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von fb (406 Beiträge) am Freitag, 7.Juni.2002, 01:39.
    Re: Anzahl der unterschiedlichen DB-Einträge zählen

      Hallo Oliver,

      dazu gibt es verschidene ansätze:

      1. Ansatz
      %seen = (); #Hash zum sammeln der anzahl im Key steht das Jahr.
      get "Geburtsjahr==*","DB";
      while (get_next("DB"))
      {
      push @jahre,$Geburtsjahr unless $seen{$Geburtsjahr}++; 
      }
      

      foreach $jahr (@jahre)
      {
       out "$jahr = $seen{$jahr}<br>";
      }
      

      Nachteil ist das die gesamte Datenbank durchlaufen werden muss.

      2. Ansatz
      Da wir ja datenbanken haben, wär eine variante in der man bei eingabe oder löschen von Datensätze die Anzahl gleich in einer 2.DB mitschreibt, für eine ausgabe sicherlich besser.
      Verknüpfen lassen diese beiden DB ja schön über das Geburtsjahr.

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Freitag, 7.Juni.2002, 07:55.
    Re: Anzahl der unterschiedlichen DB-Einträge zählen

      Hallo,

      Variante 1 läuft gut solange die Datei klein ist,
      bei meiner Adressdatei - hier wollte ich nach PLZ gruppieren -lief er ab etwa 7.500 Datensätzen auf einen Zeit- oder Grössenbegrenzung (...Seite nicht gefunden).

      Dafür gibt es bis je0tzt keine Lösung - es sei denn die aufwendige Variante 2.

      Gruss

      Claus

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Freitag, 7.Juni.2002, 09:22.
    Re: Anzahl der unterschiedlichen DB-Einträge zählen

      Hallo fb und Claus,

      Variante 1 läuft super - Vielen Dank.

      Variante 2 muss ich mir mal für die Zukunft überlegen. Derzeit funktioniert 1 noch, bei etwas über 700 DS.

      Mein Problem für 2 ist nur, dass die Communitymitglieder bei der Registrierung ja auch Fehler machen können. Dann wird ein falscher Eintrag in die 2. DB vorgenommen. Wenn das Mitglied den Fehler wieder korrigiert, ist die Frage, wie ich den Fehler wieder aus der 2. DB bekomme?

      Eine Frage habe ich noch zu 1:

      Kann ich die Ausgabe der Geburtsjahre auch sortieren?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von fb (406 Beiträge) am Freitag, 7.Juni.2002, 19:27.
    Re: Anzahl der unterschiedlichen DB-Einträge zählen

      sortieren,

      wird durch
      1. Deine abfrage
      get "Geburtsjahr==*", "DB";
      
      holt doch schon die daten nach eben Geburtsjahr. Willst du die sortierung umdrehen sieht das so aus
      get "Geburtsjahr==* sort=-", "DB";

      2. das array @jahre ist nur dazuda die einträge später wieder genau in der gleichen reihenfolge auszuspucken wie si geholt wurden (da Hash nunmal nicht sortiert sind)

      etwas klarer?

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 7.Juni.2002, 22:17.
    Re: Anzahl der unterschiedlichen DB-Einträge zählen

      krass mann, der fb wieder so aktiv im forum ;-) *wunder*

      Sander

     Antworten

    Beitrag von fb (406 Beiträge) am Samstag, 8.Juni.2002, 00:37.
    Re: Anzahl der unterschiedlichen DB-Einträge zählen


      Wie in alten Zeiten nur mit anderer emailadresse ;-)

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Montag, 10.Juni.2002, 10:04.
    Re: Anzahl der unterschiedlichen DB-Einträge zählen

      Hallo fb,

      mein Problem dabei ist, dass ich für weitere Auswertungen zunächst alle Daten mit get "Id==*","DB" hole.

      Die Sortierung nach Geburtsjahr habe ich nun so gelöst:

      my @sortjahre = sort(@jahre);
      

      foreach $jahr (@sortjahre)
      {
         out "$jahr = $seen{$jahr}<br>";
      }
      

      Das funktioniert auch.

      Gibt es auch eine Möglichkeit, die ausgegebene Liste nach dem Ergebnis zu sortieren? Also in dem Beispiel, die Geburtsjahre nach Anzahl sortiert.

      Grüße
      Oliver ;-)

     Antworten


     
 Liste der Einträge von 46651 bis 46801:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!