奇妙な問題があります。クエリを実行すると、データが表示されませんがResultset
、列ヘッダーをクリックしResultSet
て並べ替えると、行が表示されます。
私のテーブルは次のようになります -
id user_id action_id object_id MAX(s.timestamp)
2825 61 2 806 16/06/2012 03:41:55
2818 208 4 0 15/06/2012 15:11:30 -- problematic row
2817 21 7 1 15/06/2012 13:18:38
2816 208 4 0 15/06/2012 12:11:30 -- problematic row
2803 320 9 806 14/06/2012 23:14:32
2802 320 9 805 14/06/2012 17:15:54
2801 208 4 0 14/06/2012 15:11:30 -- problematic row
次のクエリを使用しています-
SELECT MAX(activity_stream_id) id,
s.user_id,
s.action_id,
s.object_id,
MAX(s.timestamp)
FROM pp_activitystream s
GROUP BY s.user_id, s.action_id, s.object_id
ORDER BY s.timestamp DESC
理想的にはResultSet
、「問題のある行」の一番上を取得する必要がありますが、そうではありません。列ヘッダーをクリックして行を並べ替えると、「問題のある行」が表示されます。
なぜこのように振る舞うのか教えていただけますか?
Toad
andを使用して上記のクエリを実行しましMySQL Workbench
たが、同じように動作します。
実行後の出力 -
id user_id action_id object_id MAX(s.timestamp)
2825 61 2 806 16/06/2012 03:41:55
2817 21 7 1 15/06/2012 13:18:38
2803 320 9 806 14/06/2012 23:14:32
2802 320 9 805 14/06/2012 17:15:54
ソートする列ヘッダーをクリックした後の出力 (この場合はタイムスタンプ) -
id user_id action_id object_id MAX(s.timestamp)
2825 61 2 806 16/06/2012 03:41:55
2818 208 4 0 15/06/2012 15:11:30 -- row appears
2817 21 7 1 15/06/2012 13:18:38
2803 320 9 806 14/06/2012 23:14:32
2802 320 9 805 14/06/2012 17:15:54