Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Increment eines Feldes

  1. #1
    eagle0899
    Gast

    Increment eines Feldes

    Hallo

    Ich möchte mein Problem an einem Beispiel erläutern.

    Ich habe folgende Tabelle:

    create table worte ("Name" varchar(20), "Anzahl" INT);

    Die Tabelle ist am Anfang leer. Nun möchte ich, sagen wir mal von einem dicken E-Book, alle vorkommenden Worte in die Tabelle eintragen und bei wiederholten Auftreten zählen.

    In Perl mit DB_File ist dies ein Einzeiler:

    $worte{$wort}++;

    Gibt es eine elegante Möglichkeit, so etwas mit SQL (z.B. mysql) zu realisieren?

    Gruß Bernd

  2. #2
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    Die schnellste Möglichkeit dürfte sein, eine Tabelle mit der Spalte wort zu erstellen, da alles reinzupacken und dann auf einen View zuzugreifen, der sich aus 'select wort,count(wort) from tabelle group by wort' ergibt. Schnell allerdings nur in der implementierung.
    Das Ziel ist das Ziel.

  3. #3
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    Code:
    update worte set Anzahl=Anzahl+1 where Name='<wort>'
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.09.2004
    Ort
    Mannheim
    Beiträge
    102
    Code:
    update worte set anzahl=anzahl+1 where name="dieseswort";
    Greetz
    Thomas
    - Jabber-IM: tschloss-at-gmail.com -

  5. #5
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    hihi, erster
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  6. #6
    Registrierter Benutzer
    Registriert seit
    02.09.2004
    Ort
    Mannheim
    Beiträge
    102
    Zitat Zitat von elrond Beitrag anzeigen
    hihi, erster
    Blödes Telefon
    Greetz
    Thomas
    - Jabber-IM: tschloss-at-gmail.com -

  7. #7
    eagle0899
    Gast
    Zitat Zitat von elrond Beitrag anzeigen
    Code:
    update worte set Anzahl=Anzahl+1 where Name='<wort>'
    Und es läuft super. Danke!

    Allerdings nur, wenn '<wort>' bereits vorhanden ist. So muß erst abgefragt werden, ob das Wort bereits vorhanden. Wenn nicht, muß erst ein insert ausgeführt werden.

    In Perl ist das alles inklusive.

    Gruß Bernd

  8. #8
    Registrierter Benutzer
    Registriert seit
    26.12.2002
    Ort
    Matrix
    Beiträge
    194
    Zitat Zitat von eagle0899 Beitrag anzeigen
    Und es läuft super. Danke!

    Allerdings nur, wenn '<wort>' bereits vorhanden ist. So muß erst abgefragt werden, ob das Wort bereits vorhanden. Wenn nicht, muß erst ein insert ausgeführt werden.
    kennt mysql MERGE?

    -j

  9. #9
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    laut en.wkipedia.org heißt das bei MySQL 'replace':
    http://dev.mysql.com/doc/refman/5.1/en/replace.html

    dort wird allerdings eine andere Syntax empfohlen:
    http://dev.mysql.com/doc/refman/5.1/...duplicate.html

    Das ist wohl das, was hier gebraucht ist.
    Das Ziel ist das Ziel.

  10. #10
    eagle0899
    Gast
    Zitat Zitat von mwanaheri Beitrag anzeigen
    laut en.wkipedia.org heißt das bei MySQL 'replace':
    http://dev.mysql.com/doc/refman/5.1/en/replace.html

    dort wird allerdings eine andere Syntax empfohlen:
    http://dev.mysql.com/doc/refman/5.1/...duplicate.html

    Das ist wohl das, was hier gebraucht ist.
    Genau das ist das, wonach ich gesucht habe. Aber leider nur bei mysql möglich.

    Nochmals Danke

    Bernd

  11. #11
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    für andere Datenbanken ist (denke ich) MERGE zuständig (vgl. Beitrag von Jasper) Ich hatte nur aus irgendeinem Grund angenommen, dass es sich um MySQL handelt.
    Das Ziel ist das Ziel.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •