1
私の問題は、さまざまな日付の行が絶えず追加されているため、テーブル内の曲の最初のエントリが必ずしも最も早いオカレンスであるとは限りません。表をプレイこのクエリで、最も古い日付に関連付けられたレコードが正しく表示されないのはなぜですか?
:
song_name played_id show_id
-------------------------------------------
A Song 0001 000a
Another Song 0002 000a
A Song 0003 000b
表を表示します
show_id date
-------------------------------------------
000a 2/2/2012
000b 1/1/2011
望ましい結果:
song_name played_id date
-------------------------------------------
A Song 0003 1/1/2011
Another Song 0002 2/2/2012
現在のイライラ結果:
song_name played_id date
-------------------------------------------
A Song 0001 2/2/2012
Another Song 0002 2/2/2012
このクエリから来
:私は上記のクエリにLIMIT 1を追加すると
SELECT p.song_id, s.date AS date, p.song_name, p.show_id, p.set_order, p.played_id
FROM played p
INNER JOIN shows s
ON p.show_id = s.show_id
GROUP BY p.song_id
ORDER BY s.date ASC
私の結果は個別の曲の名前のリストを表示するのではなく1行しか表示されません。
ORDER BYがすべての日付を見る機会を得る前にGROUP BYがすべての曲の最初のオカレンスを選択しているので、私はSub Queryを使用する必要があると仮定していますが、わかりません。助けをあらかじめありがとう!
完璧!ありがとうございました! – smalls0212