私はテーブル次の表にSQL Server 2000:異なるフィールドごとにトップ10を取得する方法。ループかもしれない?
MyTable
ID
MessageType
MessageDate
MessageBody
を持っているが、数万行あるだけで100ユニークMessageTypeのはそれです。
私が必要とするのは、各MessageType(少なくともMessageTypeとMessageBodyを含む必要があります)のサンプルですが、DISTINCT
はMessageType列しか取得できません。
私は、これはそれがちょうど私のトップ5のように動作しません知っているが、私はこれを介してSQLループを作る方法を確認していない
SELECT TOP 5 *
FROM MyTable
WHERE MessageType IN (SELECT DISTINCT MessageType FROM MyTable)
のようなものを考えています。私が正しくあなたの答えを読んでいる場合は任意のヘルプ
はるかに簡単。 'TOP'は何から注文? –
これは1回限りのレポートなので、テーブルをSQL 2008 DBにインポートできます。 by order by、それは問題ではありません。私は各MessageTypeのうちの5つを必要とします。 – InsertOldUserIDHere
答えは実際にそのバージョンのSQL Serverに適用されないので、[sql-server-2000]タグをこれから削除するように頼むことはできますか? – Martha