カラムは絶対情報で作ろう

ショッピングでよくある、売上ランキングというものですが、rankというINT型のカラムを作成してデータを作ったとしたものをランキング順に取り出すとしたら「SELECT*FROM my_items ORDER BY rank ASC;」これでうまく機能するようになるのですが、うまくいかないのが困ったところ。ランキングという概念ではなく、例えば売上順なのであれば、売上数を評価順なのであれば点数を記録するということです。順位というのは、その他の情報に比べた位置を示すもので、相対情報となります。相対情報というのは、他の情報変化に応じて変わってしまうということで、データベールのカラムとして考えると、あまり好ましい情報ではありません。この絶対情報を記録して、その並び替えなどを行うことで、相対的なランキングなどの情報を作り出せるようにカラムを作りましょう。カラムを作るときは、頭に入れておいたらよいそうです。データによっては、社員番号やISBNといったもののように、必ずしも新しさとは一致しないケースもでてきます。新着順や古い順というような並び替えでは対応できないものです。データをぬ入力した日を記録するようにしましょう。phpMyAdminでmy_itemsテーブルを表示して、1つのカラムを最後に追加します。createdカラムをDATETIME型で作成しましょう。日付というのは、決まった書式で挿入しないといけません。もし、実際にデータを挿入した日を挿入したい場合は、「NOW()」という特別な記述を使うようにすると便利です。さらにデータを変更した日を基準にしたい場合もあります。また更新日というのも便利にできる型があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です