tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
5973
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jul 2003
    Ort
    Gronau, Nordrhein-Westfalen, Germany, Germany
    Beiträge
    634
    HI!
    Ich brauche eine mysql abfrage, die nach einem Feld sortiert, das zwar Varchar ist, aber das datum das drinsteht, ist sortiert nach 'dd.mm.yyyy'!
    Ist es möglich, das die Abfrage nach diesem Feld sortiert wird, also nach tagen und monaten?

    Danke!
     

  2. #2
    Avatar von mgd-one
    mgd-one mgd-one ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    186
    musste infach ein ORDER BY feldname ASC bzw. DESC machen. Müsste klappen.

    MfG mgd-one
     

  3. #3
    Registriert seit
    Jul 2003
    Ort
    Gronau, Nordrhein-Westfalen, Germany, Germany
    Beiträge
    634
    Tuts ja eben nicht
    Sonst würd ich ja hier nicht fragen

    /€dit:
    30.01.2004
    17.03.2004
    17.02.2004
    So sortiert das mit DESC
     

  4. #4
    Avatar von aquasonic
    aquasonic aquasonic ist offline Mitglied Brillant
    Registriert seit
    Jan 2004
    Ort
    Schweiz :: Bern
    Beiträge
    942
    wenn es VARCHAR ist und das Format dd.mm.yyyy dann kannst du es nicht sortieren, du müsstest das ganze im Format yyyymmdd (ohne Punkt) formatieren damit du sortieren könntest, oder es als Date abspeichern...Ich würde dir die Variante mit DATE empfehlen...
     
    MfG AqUaSoN!C

    o Wie man richtig Fragen stellt o

    o Nicht in Problemen sondern in Lösungen denken! o

    o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o

    > Meine Linksammlung > http://linksys.aquasonic.ch

    > Mein Wiki > http://wiki.aquasonic.ch

  5. #5
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    Ihhh warum haste denn Varchar genommen - macht doch alles schwerer

    select * from tabelle order by substr(dfeld,7,4) desc,substr(dfeld,4,2) desc,substr(dfeld,1,2) desc

    rein theoretisch
     

  6. #6
    measel101 measel101 ist offline Mitglied Silber
    Registriert seit
    Mar 2002
    Beiträge
    55
    Keine Ahnung wiseo, aber mein Meister lehrte mir das datum mit date() zu generieren und es als int 11 in der DB zu speichern, weil es viel einfacher sei mit diesem Format weiter zu arbeiten - und da hatte er recht
     

  7. #7
    Registriert seit
    Jul 2003
    Ort
    Gronau, Nordrhein-Westfalen, Germany, Germany
    Beiträge
    634
    Stimmt, aber ich habs dann eben so gemacht, weil ich das datum eigentlich weiter als text verarbeite

    Ich probiere
    select * from tabelle order by substr(dfeld,7,4) desc,substr(dfeld,4,2) desc,substr(dfeld,1,2) desc
    mal aus
     

  8. #8
    Registriert seit
    Jul 2003
    Ort
    Gronau, Nordrhein-Westfalen, Germany, Germany
    Beiträge
    634
    Leider geht es so nicht

    Sicher das die Schreibweise so ist?

    /€dit:
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(`datum`,'7','4') desc,substr(`datum`,'4','2') desc,substr(`dat
    Geändert von Operator_Jon (28.01.04 um 22:34 Uhr)
     

  9. #9
    McLach McLach ist offline Grünschnabel
    Registriert seit
    Aug 2005
    Beiträge
    2
    Hallo,
    ich habe auch ein kleines Problem mit einer Abfrage.
    Diese Abfrage lautet:
    Code :
    1
    
    SELECT DATE_FORMAT(created,'%d.%m.%Y %H:%m Uhr')created FROM XXXXX ORDER BY created DESC LIMIT 1

    Mit dieser Abfrage lasse ich mir den höchsten Wert einer datetime-Spalte (created) der Tabelle XXXXX ausgeben.
    Und davon nur einen Wert - mehr möchte ich auch nicht, da ich nur den letzten Wer brauche.
    Was ich nun seit der letzen Zeit auffällt:
    Mein maximum Wert ist nun der 31.08.2011, und der wirklich letzte Eintrag ist aber von gestern.
    Das passiert wohl, da ich die Ausgabe sofort formatiere.
    Nun die Frage: Wie stelle ich das so um, das die interne Sortierung zwar nach dem höchsten Datum erfolgt, die Ausgabe aber wie ein deutsches Datum aussieht?
     

  10. #10
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du überschreibst das Feld created in der Ausgabe, da dein Feldalias wieder created heisst.
    Also musst du dem Order angeben, dass du das created von der Tabelle meinst. Dazu kannst du den Tabellennamen Oder Tabellenalias vor das Feld schreiben und mit einem Puknt verbinden.
    Code sql:
    1
    
    ... ORDER BY XXXXX.created DESC ....

    Nebenbei -> ich verschieb das ganze mal ins DB-Forum, da es alles absolut nix mit PHP zu tun hat
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  11. #11
    McLach McLach ist offline Grünschnabel
    Registriert seit
    Aug 2005
    Beiträge
    2
    Danke - für die Lösung und das Verschieben.
    Mein Probem kann als gelöst betrachtet werden.
     

Ähnliche Themen

  1. MYSQL KAlender nach Datum gruppieren, nach Uhrzeit sortieren
    Von kamstarr im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 09.01.10, 01:12
  2. Abfrage nach Datum sortieren
    Von Sasser im Forum Relationale Datenbanksysteme
    Antworten: 21
    Letzter Beitrag: 16.09.08, 11:32
  3. MySQL: 2 Tabellen nach Datum sortieren
    Von Nord-Süd-Richtung im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 13.08.08, 13:32
  4. SQL Abfrage nach Datum sortieren
    Von jcordes im Forum Relationale Datenbanksysteme
    Antworten: 11
    Letzter Beitrag: 07.12.06, 15:05
  5. MySQL - Abfrage nach Datum
    Von steffb im Forum PHP
    Antworten: 37
    Letzter Beitrag: 17.04.03, 11:10