[SQLite]レコードの内新しい方から指定した件数残すには?

| コメント(0) | トラックバック(0)

SQLとか昔は仕事とかでそれなりに使ってたのですが、ほぼ完全に忘れてしまっていて(汗)新たに試行錯誤勉強しながら使ってみている今日この頃です。orz

さてさて、楽天やアマゾンでよく見る「最近チェックした商品」みたいな事をする場合、チェックした商品のitemCodeとかをDBに突っ込んでいくわけですが、それだとどんどん止め処も無く追加されて行っちゃうわけです。それだとまずいのでチェックした日付の新しいものから数件だけ残すようにする場合のSQLを書いてみました。いろいろやり方はあると思いますが、とりあえず下のSQLで上手くいくようです。

check_infoテーブルをuserIDが「1」をキーにチェックした日付で降順にソートして表示するSQL。
11件のレコードが有ります。

sqlite> select itemCode, lastCheckDate from check_info where userID='1' order by lastCheckDate desc;
book:11343487|2008/03/30 00:38:31
book:11542380|2008/03/29 23:41:33
book:11257042|2008/03/29 23:40:13
book:11257013|2008/03/29 23:38:47
book:11324182|2008/03/29 23:38:04
book:10184762|2008/03/29 20:22:02
book:11038645|2008/03/29 20:21:39
book:11206206|2008/03/29 20:18:13
book:10184759|2008/03/29 20:18:06
book:10184759|2008/03/29 20:17:58
book:11917768|2008/03/29 20:15:35


userIDが「1」でチェック日付が新しい方から5件以降を削除するSQL。
IN句はその後の副問い合わせの複数の結果を返す。
userIDと副問い合わせで返って来たitemCodeでユニークになるレコードを削除する。
LIMITに負の値をセットすると無制限OFFSET 5は頭の5レコードをすっ飛ばしてそれ以降のレコードを対象にする為の指定。

sqlite> delete from check_info WHERE userID='1' and itemCode IN (select itemCode from check_info where userID='1' order by lastCheckDate desc LIMIT -1 OFFSET 5);


ちゃん新しい方から5件残ってるかselectしてチェック

sqlite> select itemCode, lastCheckDate from check_info where userID='1' order by lastCheckDate desc;
book:11343487|2008/03/30 00:38:31
book:11542380|2008/03/29 23:41:33
book:11257042|2008/03/29 23:40:13
book:11257013|2008/03/29 23:38:47
book:11324182|2008/03/29 23:38:04
sqlite>

上手く行った。

ブログランキング←何かお役にたてましたら、応援クリックおながいします。
ブックマークに追加する
▼関連記事

トラックバック(0)

ここだよ

トラックバックスパム対策の為この記事にトラックバックを行うにはトラックバック元の記事中にこのページのURL「http://blog.kumacchi.com/2008/03/sqlite_1.html」を含めてください。

コメントする

機械翻訳

よく読まれている記事

アクセス解析

アクセス元ランキング

QRコード

フィードメーター

フィードメーター - KUMA TYPE

スカウター

スカウター : KUMA TYPE

 
track feed KUMA TYPE
あわせて読みたい
ブログタイムズ

ブログパーツ

超立体マスクマン

アンテナ

■日刊スレッドガイド ■【2ch】ニュー速クオリティ ■痛いニュース(ノ∀`) ■アルファルファモザイク ■越えられない壁( ゚д゚) ■未定なブログ ■何でもありんす ■2chスポーツニュースナビ ■【2ch】ニュース速報アワーズ ■ベア速 ■小太郎ぶろぐ ■ひろぶろ ■GIGAZINE ■せと弘幸Blog『日本よ何処へ』 ■岸部シローの四郎マンション ■しょこたん☆ぶろぐ ■パソコントラブル出張修理・サポート日記 ■【楽天ブックス】DVD アニメ ベストセラーランキング ■呟き

iA

このブログ記事について

このページは、くまっちが2008年3月30日 02:12に書いたブログ記事です。

ひとつ前のブログ記事は「人気ブログランキングに登録してみた」です。

次のブログ記事は「PSPのCFWのバージョンアップをやってみた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。