Hallo zusammen,
ich habe mal eine Frage zur folgenden Problematik:
Ich habe eine Tabelle "Track" die alle Tracks (einer CD) beinhaltet. Jeder Track hat entsprechend eine gewisse Laufzeit (Duration).
Ich möchte nun bestimmen, welche bestimmten Tracks (Random) zu einer gesamten Laufzeit sein könnten. So eine Art Random-Playlist.
Das heißt, ich will alle Tracks, die ich in 120 Minuten beispielsweise spielen möchte/kann. Dafür brauch einen einen "running value" der Laufzeit für alle Tracks.
Nun habe ich folgenden Ansatz, der mit dem kartesischen Produkt arbeiten. Jedoch bekomme ich nur Schwachsinn heraus:
Das Problem was ich nun habe ist aber, dass ich immer die selben Werte habe und nicht random.
Hatte mir auch schon überlegt anstatt "FROM tracks t INNER JOIN.." zu machen, einfach Subselects zu nutzen und mit ORDER BY Random() durchzumischen, dort bekomme ich aber dann Probleme mit dem kathesischen Produkt.
Habt ihr eine Idee wie ich dies machen kann?
Lieben Gruß
ich habe mal eine Frage zur folgenden Problematik:
Ich habe eine Tabelle "Track" die alle Tracks (einer CD) beinhaltet. Jeder Track hat entsprechend eine gewisse Laufzeit (Duration).
Ich möchte nun bestimmen, welche bestimmten Tracks (Random) zu einer gesamten Laufzeit sein könnten. So eine Art Random-Playlist.
Das heißt, ich will alle Tracks, die ich in 120 Minuten beispielsweise spielen möchte/kann. Dafür brauch einen einen "running value" der Laufzeit für alle Tracks.
Nun habe ich folgenden Ansatz, der mit dem kartesischen Produkt arbeiten. Jedoch bekomme ich nur Schwachsinn heraus:
Code:
SELECT
t.ID,
t.Artist,
t.Title,
t.Remix,
t.Duration,
SUM(t1.Duration) as RunningValue
FROM
tracks t
INNER JOIN tracks t1 ON t1.ID <= t.ID
GROUP BY
t.ID,
t.Title,
t.Remix,
t.Duration
Das Problem was ich nun habe ist aber, dass ich immer die selben Werte habe und nicht random.
Hatte mir auch schon überlegt anstatt "FROM tracks t INNER JOIN.." zu machen, einfach Subselects zu nutzen und mit ORDER BY Random() durchzumischen, dort bekomme ich aber dann Probleme mit dem kathesischen Produkt.
Habt ihr eine Idee wie ich dies machen kann?
Lieben Gruß
Zuletzt bearbeitet: