内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
02_freebsd
»
04_database
»
01_mysql
»
MySQL - 数値に変換してソート
トレース:
•
コマンドラインからメール
02_freebsd:04_database:01_mysql:mysql_-_数値に変換してソート
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== MySQL - 数値に変換してソート ====== backup_sizeがvarcharの為、普通にソートするとこのようになってしまいます。 <code console> mysql> select disk_id,backup_size from backups order by backup_size desc; +---------+-------------+ | disk_id | backup_size | +---------+-------------+ | 67 | 359728 | | 65 | 359656 | | 4570 | 240392 | | 3949 | 18931152 | | 3869 | 18379424 | | 3869 | 18086912 | | 3173 | 17994708 | | 3173 | 17870688 | | 3173 | 17870688 | | 4933 | 170412 | | 3829 | 14502832 | | 3781 | NULL | +---------+-------------+ 12 rows in set (0.01 sec) </code> ===== こうすれば、数値に変換してソートできる。 ===== 0を足して、無理やり数値へ変換する。 <code console> mysql> select disk_id,backup_size from backups order by backup_size + 0 desc; +---------+-------------+ | disk_id | backup_size | +---------+-------------+ | 3949 | 18931152 | | 3869 | 18379424 | | 3869 | 18086912 | | 3173 | 17994708 | | 3173 | 17870688 | | 3173 | 17870688 | | 3829 | 14502832 | | 67 | 359728 | | 65 | 359656 | | 4570 | 240392 | | 4933 | 170412 | | 3781 | NULL | +---------+-------------+ 12 rows in set (0.00 sec) </code> ===== castを利用する場合 ===== <code console> mysql> select disk_id,backup_size from backups order by cast( backup_size as SIGNED ) desc; +---------+-------------+ | disk_id | backup_size | +---------+-------------+ | 3949 | 18931152 | | 3869 | 18379424 | | 3869 | 18086912 | | 3173 | 17994708 | | 3173 | 17870688 | | 3173 | 17870688 | | 3829 | 14502832 | | 67 | 359728 | | 65 | 359656 | | 4570 | 240392 | | 4933 | 170412 | | 3781 | NULL | +---------+-------------+ 12 rows in set (0.00 sec) </code>
02_freebsd/04_database/01_mysql/mysql_-_数値に変換してソート.txt
· 最終更新: 2013/03/15 01:23 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ