Ilja: MySQL - Doppelte Einträge filtern

Beitrag lesen

moin,

Zu meinem Problem:
Ich nutze MySQL - 5.0.32

lach, so kann man es auch sehen, aber dazu weiter unten mehr....

Nun möchte ich mit einer Abfrage wie der gleich folgenden erreichen, dass mir die (in diesem Beispiel) zwei neuesten Einträge aus der Tabelle stream angezeigt werden.

viele sind sich der problematik von der aussage "die zwei neusten einträge" nicht bewußt. was ist den, wenn die zwei neusten einträge nicht eindeutig sind, sondern es mehr gibt, wie zum beispiel bei olympia, die zweiteschnellste zeit von zwei athleten erreicht wurde. man muss sich gedanken darüber machen, wie man darauf reagiert.

Dabei soll nur ein Eintrag pro User angezeigt werden. In meinem Beispiel in der Tabelle stream sollen also nur Eintrag 5 und 4 ausgegeben werden (also die neuesten des jeweiligen Users).

wenn es pro user wäre, wären das aber drei einträge, nämlich User 180, 230 und user 320. willst du nun nur zwei datensätze, wo die user verschieden sein sollten oder aber pro user einen eintrag ?

Möglicherweise verstehe ich die Funktion GROUP BY nicht richtig. Habt ihr eine Lösung für mich?

jetzt kommen wir zurück zu dem teil, warum ich mir ein lachen nicht verkneifen konnte. und ich befürchte dein beitrag bekommt ein wenig zuviel meines frust auf MySql ab. aber das liegt einfach an der summe der beiträge, die ebenfalls dein problem haben. ich hoffe ja immer noch Vinzenz macht mal eineen weiteren beitrag hier bei selfhtml dies bezüglich, damit man darauf nur noch verlinken kann. sonst werde ich noch zu einem MySql "hasser".

wie auch immer, jedes andere dbms würde dir auf deine abfrage eine fehlermeldung ausgeben und das aus guten grund. normalerweise darf man nur spalten innerhalb einer gruppierung ausgeben, über die man auch gruppiert hat oder aber die eine aggregat-funktion benutzen. mysql geht einen anderen weg und zwar ausschließlich aus performance-gründen und erzeugt da mit wesentlich mehr probleme als nutzen. du bekommst zufällige werte dabei raus und die meisten merken es noch nicht mal, weil es eben keine fehlermeldung gibt.

aber zurück zum problem, willst du wirklich nur zwei datensätze oder pr user einen und was willst du bei zeitgleichheit machen, abschneiden oder beide anzeigen ?

Ilja