Bestimmten Wert in MySQL ausgeben?

...komplette Frage anzeigen

5 Antworten

benutze order by.

max ist referenzlos und gibt gibt nur den max wert ohne bezug aus

01AndiPlayz 11.07.2017, 10:00

stimmt.

0
Junikay 11.07.2017, 10:16
@01AndiPlayz

Das habe ich versucht aber es funktioniert leider nicht es wird immer die als Erstes angeklickte URL aufgelistet.

1
Kiboman 11.07.2017, 10:51
@Junikay

gib mal genauere info zum tabellen aufbau und die funktion dahinter.

Andi und ich haben das selbe im kopf was anscheinend nicht ganz richtig ist

0

Ich komme nicht ganz nach. Existiert die gleiche URL mehrmals mit anderen Daten. Und du möchtest das die älteste angeklickte URL angezeigt wird?

select * from 'tabelle' order by logdate desc limit 1

LG Andi

Junikay 11.07.2017, 10:20

Hey Andi,

das Logdate ist nicht direkt das Problem, sondern die URL. Diese soll nicht die Erste angeklickte, sondern die als Letztes (zeitlich gesehen) sein.

1
xGlumi 11.07.2017, 10:30
@Junikay

Wenn jede URL in deiner Datenbank bei Klick als logdate die aktuelle Zeit bekommt, dann ist "ORDER BY logdate DESC LIMIT 1" exakt was du brauchst.... da hat 01AndiPlayz schon recht.

(Da hier die URL mit der kürzesten Zeitspanne zur aktuellen Zeit abgerufen wird.. was somit auch die URL die als letztes angeklickt wurde ist)


Wenn es nicht geht weil deine Datenbanklogik z.b eine andere ist, dann solltest du diese das nächste mal versuchen etwas besser in deiner Frage erklären.

MFG xGlumi

2
01AndiPlayz 11.07.2017, 10:30
@Junikay

Du speicherst ja in der Tabelle URLs. Diese werden jeweils mit einem Logdatum versehen, damit du weisst, wann welche URL geloggt wurde, korrekt?

Wenn du obigen Befehl ausführst, erhälst du die Neuste, also die zuletzt geloggte URL und das Logdatum der URL.

So wie ich das verstehe, willst du doch genau das, oder?

LG Andi

1
01AndiPlayz 11.07.2017, 10:54
@Junikay

Ahaaa...

Du denkst, dass wenn man nach Logdate sortiert würde es dir das erste und somit älteste Logdatum angeben.

Nein, mit der Option desc (descending = absteigend) sortiert man in umgekerhter Reihenfolge und hat somit das neuste Datum zuerst.

LG Andi

1

Ist es ein Datum oder ein Timestamp?
Normalerweise sollte aber folgendes gehen:

ORDER BY logdatum DESC LIMIT 1

für sowas brauchst du ein subquery der vörsortiert und dann den bezug herstellt.
wenn es in group by vorkommt .


Was möchtest Du wissen?