FC2ブログ

MYSQL のメモ (order by)

引き続き、MySQL 関連

今回はデータのソート

ORDER BY を使うことで並び替えができます

昇順、つまり小さい順で並べるなら
select * from my_items ORDER BY id ASC

これでIDの数値の小さい順に並べれます

逆に降順にするなら
select * from my_items ORDER BY id DESC

ちなみに where と組み合わせもできます

SELECT * FROM `my_items` where price <=180 order by price;
とすると
180円以下が昇順(小さい順)で表示されます



に応用として 159Pに
ランキング情報の作り方が載っていました

150Pでカラム追加を行い、内容を UPDATE を使って追加します
カラムは rank
種類は INT
としました

あとは
update my_items set rank=2 where id=2;
というように、値を追加していきます

rank 情報を更新したら
select * from my_items ORDER BY rank ASC;
でランキング表示できます

ただし、この方法では面倒になるため、一度 rank 情報を削除します
(売上が変わると、毎回ランキング更新は面倒なので)

削除するには
ALTER TABLE `my_items` DROP `rank`
で削除します

DROP で削除できますが、中身のデータも一緒に消えるうえ、復元できないようですので
注意

次に、カラム sales を追加して
update my_items set sales=20 where id=2;
というように値を入力

SELECT * FROM my_items ORDER BY sales DESC;
で検索すれば、売上ランキングができます

DBの設定をするときには、なるべく絶対情報を記録して
ランキングなどを行うようにします

絶対情報は、ランキングのように他のものに左右されないものです
ランキングは相対情報なので、どんどん変化してしまいます

とりあえず、今日はここまでとして
明日は
DATETIME と TIMESTAMP あたりをすすめてみます
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック