タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

mysqlとsqlに関するrindenlabのブックマーク (3)

  • ORDER BYで、単純な昇順降順「以外」で並べる! - なからなLife

    いやー、知らないって怖いね。 なんだこのキモいSQLは、って思ってしまったけど、調べているウチに、これちゃんとSQL構文に則ってる!こちらが間違ってた!って事がわかっていきました。 あえて、知らなかった所から勢いで書いていたのを、そのままにしてみました。 キモいSQLコードを偶然見つけた SQLにおけるORDER BYって、その後にカラム(およびそのエイリアス)を並べてソート順として使用するわけですが、MySQL案件のお仕事の中で偶然こんなものを見つけて、絵に描いたような二度見リアクションしました。 SELECT * FROM tbl ORDER BY id = 23; -- (1) SELECT * FROM tbl ORDER BY FIELD( id, 23, 234, 543, 23 ); -- (2)こうした、「ORDER BYに、あたかもWHERE句で絞り込む条件指定のような使

    ORDER BYで、単純な昇順降順「以外」で並べる! - なからなLife
  • MySQLで処理に長時間かかっている複数クエリをまとめて殺す方法 | Basicinc Enjoy Hacking!

    あまりにも処理に時間がかかるようなSQLを実行してしまい、MySQLがうんともすんとも言わなくなってしまうような状況、よくありますよね。っていうか、まぁそんな状況あってはならないんですが、時たまあります。そんな時、問題となっているクエリの処理を止めたいわけです。 特定のクエリを止める方法 MySQLで実行中のクエリ一覧を見て、SQLを強制終了する方法 こちらを見てもらえればやり方は分かります。単純にMySQLに入って、show processlist;で問題のあるクエリを発見し、プロセスIDを kill するだけ。とても簡単。 複数のクエリを一括で止める方法 今回は問題のあるクエリが100個あったらどうする…?的なのを解決するエントリーです。まぁ、問題あるクエリ100個ある状況は、アプリ的に問題あるんじゃね?っていうレベルですが。 1個ずつプロセスIDをコピペして…なんてやってられないです

    MySQLで処理に長時間かかっている複数クエリをまとめて殺す方法 | Basicinc Enjoy Hacking!
    rindenlab
    rindenlab 2014/04/16
    "実は、show full processlistは以下のSQLと同じ。SELECT * FROM information_schema.PROCESSLIST;"
  • MySQL5で「Unknown column … in ‘on clause’」エラーが出る場合の対処法 | colori

    MySQL5系に移したら突然動かなくなった… MySQL3とかMySQL4でこれまで運用してきたシステムがMySQL5系になって急に動かなくなった経験はありませんか? 実際にSQL文を双方に入力しても、旧バージョンだとちゃんと動きますが、MySQL5系では以下のようなエラーが出ることがあります。 そして大抵、そのSQL文には以下の条件が含まれているはずです。 エラー内容 エラーが出るSQL文条件 「FROM a,b」 のように複数のテーブルを参照している。「JOIN」構文が含まれている。 原因はJOIN構文の優先度変更 答えはMySQLのマニュアルに書いてあるのですが、JOINの優先度が高くなったしまったために、カンマよりも勝ってしまうことによる構文エラーだったのですね。 MySQL 5.1 リファレンスマニュアル :: 12.2.7.1 JOIN 構文 以前は、カンマ演算子(,)と JO

  • 1