mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 07:21 Benutzername: Passwort: Auto-Login

Thema: MySQL / case & group by & order vom 05.10.2004


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> MySQL / case & group by & order
Autor Nachricht
dastef
Threadersteller

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 05.10.2004 20:34
Titel

MySQL / case & group by & order

Antworten mit Zitat Zum Seitenanfang

Soooo, also meine Lieben - hier is ja ziemlich wenig los Lächel Also
pack ich jetzt mal ne tolle Frage aus:

Tabelle item_content_link.
Betroffene Spalten: item_id, item_timestring, item_lastchange.

item_id: ne einmalige id, der timestring eintragsdatum im englischen
format: YYYY-MM-DD HH:MM:SS lastchange ist diese tolle "ändert
sich automatisch wenn der datensatz geändert wurde"-geschichte.

So, es kann für eine item_id mehrere Einträge geben. Ich hätte jetzt
gerne den neusten von jeder id. Also dachte ich da an GROUP BY
und ORDER

Nachdem ich aber entweder timestring ODER lastchange brauche
hab ich nen CASE mit ins spiel gebracht.

Meine Regel, die ich im Kopf aufgestellt hab:

SELECT ( CASE item_lastchange > 0 THEN item_lastchange ELSE item_timestring ) FROM item_content_link GROUP BY item_id

Evtl noch mit nem ORDER .. aber egal wie rum ich das drehe,
der schmeisst wegen dem GROUP immer die Datensätze weg,
die ich gerne haben möchte!

Hab ich nen Dreher drin, oder sollte das tatsache nicht so gehen
wie ich das gerne hätte?

Wenn was unklar is - dann net rumdrucksen - sagen! kann gut
sein dass ich mich 3x im Kreis gedreht hab *g*

~ EDIT ! ~

Ok, volle Kraft zurück .. Danke an Karma .. die Ideen waren
natürlich zu einfach .. einfach item_lastchange beim eintragen
auf now() setzen, dann ist lastchange immer >= timestring ..

doof muss man sein!


Zuletzt bearbeitet von Sarky am Fr 08.10.2004 12:46, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Eistee
Administrator

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Mi 06.10.2004 10:22
Titel

Antworten mit Zitat Zum Seitenanfang

Ähm, was genau willst du damit machen? Wozu?

Ich hab CASE noch nie gebraucht. Ist bei einem einem Datensatz, der nie geändert wurde, nicht item_timestring = iitem_lastchange?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
dastef
Threadersteller

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 06.10.2004 10:37
Titel

Antworten mit Zitat Zum Seitenanfang

item_lastchange war bei 0, weil ich nen leeren string beim insert
verwendet habe, und nicht now() *zwinker* auf den trichter hat mich
karma im irc gebracht .. dass wenn man das macht ja lastchange
immer größer/gleich timestring ist Lächel

wozu ich das ganze mache: ich wollte die aktuellsten 10 items
auswählen. dazu musste ich (natürlich) als lastchange noch 0
war .. unterscheiden, welche Zeit er nun nehmen sollte. ob den
lastchange oder den timestring. und nachdem ich ja nur die
aktuellste zeit wollte, musste nen group by her halten Lächel
  View user's profile Private Nachricht senden
Eistee
Administrator

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Mi 06.10.2004 10:56
Titel

Antworten mit Zitat Zum Seitenanfang

dastef hat geschrieben:
item_lastchange war bei 0, weil ich nen leeren string beim insert
verwendet habe, und nicht now() *zwinker* auf den trichter hat mich
karma im irc gebracht .. dass wenn man das macht ja lastchange
immer größer/gleich timestring ist Lächel


Genau das meinte ich *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [mysql] ORDER BY mit CASE oder IF?
[MySql] ORDER BY - Frage
MySql ['order' wird nicht ausgeführt]
[mysql/php - GELÖST] ORDER BY - sortiert nicht richtig
mysql fulltext matches und case sensitivity
[MySQL] Probleme mit GROUP BY
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.