SQLite で抽出データを並び替え
SELECT * FROM テーブル名 ORDER BY フィールド1 DESC, フィールド2 DESC, フィールド3 ASC ;
上記のようにすることで、「テーブル名」という名前のテーブルの全てのデータを「フィールド1」の降順で並べ、「フィールド1」が同値の場合、次の「フィールド2」を降順に並べ、さらに「フィールド2」も同値の場合、「フィールド3」を基準に昇順に並び替えます。
ASC は結果が昇順に並びかえ、 DESC はそれが降順に並ぶかえることを表します。そのどちらも指定されていない場合、 ASC で並び替えられます。
SQLite でランダムにデータを抽出する
まず、SQLite でランダムにデータを取り出す方法
SELECT * FROM entry ORDER BY RANDOM();
SQLite で行数指定(LIMIT)でデータを抽出する
SELECT文では、WHERE句などを指定した場合でも条件に一致する全てのデータを取得します。この取得する件数を制限したい場合にはLIMIT句を使います。書式は以下の通りです。
SELECT カラム名, ... FROM テーブル名 LIMIT 行数;
…
phpでURLを取得し、自動でリンクを貼るプログラムを作っていたのですが、その際に自動で生成されるリンクが以下のようになり、正常に表示されません。
http://www.example.org/site/<wbr>testtest/php.html
<wbr>というのは、長いURLや長い英数字の羅列をホームページに記載すると文字列が改行されずテーブルやボックスが延々横長に表示されるのを防ぐためのタグ。
らしいのですが、それがいつの間にか挿入されてしまい、クリックしたURLにも含まれてしまうので、もちろんそんなURLのページが存在するはずもなく、エラーになります。
Fire Foxの場合は<wbr>がURL内に挿入され、IEの場合は「%3Cwbr%3E」(<wbr>をURLエンコードしたもの?未確認)という文字列が表示されます。
調べてみると、今回取得していたソースがYahoo検索のものだったので、Yahoo検索結果のURL内に<wbr>が入っているのはYahooの仕様によるもののようです。
なんだろうなぁと思ったので、記事に残しましたが、結局のところ・・・・・・ただの私の勘違いでした・・・( ; ゚Д゚)
graffiti on the web
この投稿へのコメント
コメントはまだありません。