+ Antworten
Ergebnis 1 bis 8 von 8

Thema: Abfrage, die den User der als nächster Geb. hat liefert

  1. #1
    TP-Member ossah macht alles soweit korrekt
    Registriert seit
    Feb 2004
    Ort
    Lüneburg
    Beiträge
    49

    Abfrage, die den User der als nächster Geb. hat liefert

    Hi,

    ich möchte aus einer Tabelle in der Usernamen und ihre Geburtsdaten abgelegt sind den User bestimmen, der als nächster Geburtstag hat.

    Fällt euch ne schöne Abfrage ein?

    Bsp. für die Tabelle:

    Code:
    CREATE TABLE users (
    
    id int(9) primary key unique not null,
    
    username varchar(15) uniquie not null,
    
    birthday date);

  2. #2
    Guest Strogij hilft, wo's geht Strogij hilft, wo's geht
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    SELECT * FROM `users` WHERE `birthday` >= NOW() LIMIT 1 Müsste gehen, wobei ich mir nicht sicher bin, ob NOW() seine Aufgabe richtig erfüllt.

  3. #3
    spl
    spl ist offline
    TP-Insider spl macht alles soweit korrekt Avatar von spl
    Registriert seit
    Sep 2003
    Ort
    Sankt Augustin
    Beiträge
    639
    ich denke das man die ergebnisse noch sortieren müsste. Nach birthday absteigend.
    Gruß Sebastian

    Webdesign und viel mehr http://lauff.info

    yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden

  4. #4
    TP-Member ossah macht alles soweit korrekt
    Registriert seit
    Feb 2004
    Ort
    Lüneburg
    Beiträge
    49
    HI,

    erstmal vielen Dank für eure Antworten.

    Aber ich glaube nicht, dass diese Abfragen zu einem Ergebnis führen werden. Schließlich gibt now() immer einen Wert zurück, der > ist als das Geb.Datum.

    Bsp.

    birthday: 1981-12-09

    now() liefert zwar den entsprechenden Monat und Tag, allerdings hängt es am Jahr.

    Die Abfrage müsste so konzipiert sein, dass das Jahr unberücksichtigt bleibt.

  5. #5
    spl
    spl ist offline
    TP-Insider spl macht alles soweit korrekt Avatar von spl
    Registriert seit
    Sep 2003
    Ort
    Sankt Augustin
    Beiträge
    639
    hmm ja. Das wird in einer Abfrage dann wohl eher schwierig. Und wenn man aus birthday 3 Felder macht?
    Gruß Sebastian

    Webdesign und viel mehr http://lauff.info

    yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden

  6. #6
    TP-Member ossah macht alles soweit korrekt
    Registriert seit
    Feb 2004
    Ort
    Lüneburg
    Beiträge
    49

    Talking

    Okay,

    ich habe eure Anregungen noch mal überdacht und bin zu folgender Lösung gekommen.

    Code:
    select * from users having DAYOFYEAR(NOW()) < DAYOFYEAR(users.birthday) order by birthday limit 1;
    Funzt wunderbar.

    Thx.

  7. #7
    spl
    spl ist offline
    TP-Insider spl macht alles soweit korrekt Avatar von spl
    Registriert seit
    Sep 2003
    Ort
    Sankt Augustin
    Beiträge
    639
    wat nich alles funzt
    Gruß Sebastian

    Webdesign und viel mehr http://lauff.info

    yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden

  8. #8
    TP-Senior tommy-p macht alles soweit korrekt Avatar von tommy-p
    Registriert seit
    Mar 2001
    Ort
    Cottbus
    Beiträge
    231
    Wenn ich nun aber nach datum sortiert ausgebe, wird dennoch das Jahr beachtet. (z.B. wird der 2.2.98 vor dem 1.1.99 ausgegeben).

    Wie kann man das umgehen?



    Vielen Dank,
    tommy-p
    Phantasie ist wichtiger als Wissen,

    denn Wissen ist begrenzt.

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51