3
私はこのような外観を重要で列のテーブル持っている:(...または他の溶液)によって、グループの一部として、最新の選択
username
source
description
私の目標は、10が最も最近取得することですがユーザー/ソースの組み合わせが一意であるレコード。次のデータから:
1 katie facebook loved it!
2 katie facebook it could have been better.
3 tom twitter less then 140
4 katie twitter Wowzers!
クエリは2,3および4( - 実際のテーブルにはタイムスタンプ列を使用して高いIDは、より最近ですと仮定)レコードを返す必要があります。
私の現在の解決策は動作しますが、10個のレコードを生成するために1個の選択を必要とし、1個は行ごとに適切な説明を取得するために選択します(11個は10個のレコードを生成するように選択します)...もっと良い方法があると思います行く。そのソリューションは、次のとおりです。
SELECT max(id) as MAX_ID, username, source, topic
FROM events
GROUP BY source, username
ORDER BY MAX_ID desc;
それが適切なIDを返しますが、間違った記述はので、私はその後、レコードIDによって適切な記述を選択することができます。
分実行時間。これを試して、うまくいけば少し速く:) – Will
ありがとう、ありがとう、ありがとう。 33,000行のイベント表で51ミリ秒。 – Will