SQLでたまーに任意のソート順でデータ取得したい時があります。 たとえばサイズ S, M, L 順で取得したいなど。 そんな時は CASE文 を ORDER BY に入れます。 SELECT * FROM category ORDER BY CASE size WHEN 'S' THEN 1 ELSE 2 END, CASE size WHEN 'M' THEN 1 ELSE 2 END, CASE size WHEN 'L' THEN 1 ELSE 2 END, size
![ORDER BY のソート順を独自指定する | グリニッジ株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/b36dd8908689b91157b5ecb1c88d0b77758184ee/height=288;version=1;width=512/https%3A%2F%2Fwww.greenwich.co.jp%2Fwp-content%2Fuploads%2F2021%2F08%2Fcorporate_ogp.jpg)
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
新入社員必読、データベースの基本を理解しよう - データベースはなぜ必要なの?:ITproという記事に対するブクマで次のようなIDコールが来た。(現在はコメント返しへのお礼が入っているので、文字数制限のためオリジナルのコメントは少し切り詰められている。) "リレーショナルデータベースはすべてのデータを2次元の表形式で表現"こういうのもリレーションが2次元構造という誤解の一種なんだろうか。id:nippondanjiさんが書いてたような。 さて、この疑問に対する正解は如何なるものだろうか? つい先日「7つのデータベース 7つの世界」の書評で書いたばかりだが・・・ 言うまでもなくその通りである。 リレーションが2次元的な構造を持っているというのは典型的な誤解だ。(ちなみにリレーションの次元は属性の数に等しい。n個の属性があるリレーションはn次元。)リレーショナルモデルについてちゃんと学習してい
htmlSQLはHTML構造にSQLを使って検索できるようにするライブラリです。 HTMLを操作する際にはDOMを使ったり、正規表現を使うのが一般的です。しかしもう一つのやり方を提案するのがhtmlSQLです。何とSQL(問い合わせ言語)を使ってHTMLソースを探索できます。 コード例。PHPで操作します。 こんな感じで取得できます(301になってしまっていますが…)。 こちらもコード例。SQLっぽい記述が面白いです。 クラスやIDなどで絞り込んだり、特定のタグだけを抽出することも簡単にできます。そして指定した要素だけ抽出して処理が可能です。今後、LIMITなどにも対応していくとのことです。 htmlSQLはPHP製、New BSD Licenseのオープンソース・ソフトウェアです。 MOONGIFTはこう見る SQLはサーバサイドで使われるプログラミング言語と構造体系が大きく異なるために
April 4, 2013 Twitterの過去ログが落とせるようになったので SQLに学ぶには丁度いいや。ということで カジュアルにOSX上でhomebrewを使ってMySQLに入れてみました。 MySQL ver.5.6 (homebrew install) OS / OSX 10.8.3 なにはともあれアーカイブをダウンロード Twitterの個人設定っぽいところから ポチポチするとダウンロードリンクが貼られたメールが送られてくるので ポチポチしてtweets.zipをダウンロード。 tweets.csvを探す tweets.zipを解凍すると、中身がこんな感じに出てきて index.htmlをブラウザで開くと、過去のツウィートが見れたりします。 時間泥棒なのでおすすめしません そして、tweets.csvが目的のファイルで、中身を開くと "tweet_id","in_reply_t
DevLOVE で 2013年02月26日(火) に開催された「SQLアンチパターン・レトロスペクティブ - データベース危篤患者の救出 - 」関係のつぶやきのまとめです。誰でも編集可にしてありますので、ご自由に追加/編集してください。
HTMLエスケープの対象となる < > & " の4文字は、文字実体参照に変換された後、preg_replace関数でセミコロンを削除してしまうので、中途半端な妙な文字化けになりそうです。 一般的な原則としては、データベースにはHTMLの形ではなくプレーンテキストの形で保存しておき、HTMLとして表示する直前にHTMLエスケープする方法で統一することで、上記のような文字化けやエスケープ漏れをなくすことがよいでしょう。 脆弱性はないのか このsanitize関数に脆弱性はないでしょうか。上表のように、バックスラッシュ(円記号)を素通ししているので、MySQLや、設定によってはPostgreSQLの場合に、問題が生じそうです。以下、それを説明します。以下の説明では、MySQLを使う想定とします。 以下のように、ログイン処理を想定したSQL文組立があったとします。 $sql = sprintf(
本書はDB設計やSQL記述の際に避けるべき事柄を1章で1つ、25個紹介する書籍です。リレーショナルデータベースを中心に据えたシステム開発には、様々な場面で陥りやすい失敗(アンチパターン)があります。本書はデータベース論理設計、データベース物理設計、クエリの記述、アプリケーション開発という4つのカテゴリに分け、それぞれの分野におけるアンチパターンを紹介し、失敗を避けるためのより良い方法を紹介します。複数の値を持つ属性や再帰的なツリー構造の格納から、小数値の丸めやNULLの扱いに起因する問題、全文検索やSQLインジェクション、MVCアーキテクチャなど、実践的かつ幅広いトピックを網羅します。日本語版では、MySQLのエキスパートとして著名な奥野幹也氏によるアンチパターンを収録。データベースに関わるすべてのエンジニア必携の一冊です。 本書への称賛の声 監訳者まえがき はじめに I部 データベース論
HOME >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 株式会社 MRT 遅いSQLって 品質の問題? 開発者は、SQLをつくって正常な結果が取得できればテストOKとなる事がおおいのですが、明らかにSQLの問題のプログラムのレスポンスが悪い場合、開発者に責任はないのでしょうか? ・テストケースでは、データ量が少量でのテストだけで実運用でデータが増えた場合のテストを行っていない ・データ件数のMAX値でのテストを行っていない。 こんなSQLで納品されて、運用を開始後数カ月たって問題が持ち上がるケースがよくあります。 SQLのレスポンスを改善した時の、問題となったSQLを見たいとあげてみたいと思います。 ■静的なSQLで、全ての条件の項目が「LIKE」になっている。 画面からの入力項目が条件になっているのですが、静的なSQLなので、全ての項目をLI
新人の子たちに SQL を教えてきました。GROUP BY のキーに指定していない列名をSELECT句に書いてはいけない、という禁則の意味がよく理解できずに困っている例を多く見かけました。特に、GROUP BY句で列にCASE式を使った場合、もはやそれはキーとして元の列とは同じでありえない、というところの理解が難しかったよう。 一般に、GROUP BY句を指定したら、SELECT句に書ける要素は三種類に制限されます。 GROUP BYで指定した集約キー 集約関数 定数 そういえば私も初心者のころ、この制限の必然性が分からなくて悩んだ記憶があります。GROUP BYがパーティション・カットの機能を果たす、ということをイメージできれば、この種の疑問は解消するのですが、それが身体感覚として身につくのはちょっとかかりそう。 SQL を最初に学ぶとき、このあたりで混乱しやすいのは、きっとSQLを書く
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く