Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

Mysql

MySQLでサブクエリが遅い時に使える、派生テーブルでのJOIN

MySQLのサブクエリは(何故か知らんけど)相関クエリ扱いになるので、外側のクエリの件数に対してサブクエリで取得した数のループが走ります。こんなコードだろな、きっと。 for v in outer: for y in inner: #joinできるkeyがあればbreak しかしながら、特にU…

mysql5.7で「is not in GROUP BY clause and contains nonaggregated column 」

SELECT list is not in GROUP BY clause and contains nonaggregated column '' which is not functionally dependent on columns in GROUP BY clause上記のようなエラーが出た。なんだろうと思ってたら、何の事はない。GroupByで集約してSELECTで指定されて…

Sequel Pro1.1でmysql5.7に接続するとエラーになる

github.comめっちゃこのケース。homebrewでmysql5.7にアップグレードしたあと、Sequel Proで接続するとスコンと落ちる。Objective-Cの文字列のパースでエラーになるみたい。すげー古典的でつまらないエラーっぽい。対応策は上記Issueにあるように、コンソー…

MySQLで履歴テーブルの最新を取りたい(Group ByとOrder By)

よくありますよね。履歴テーブルの最新を取りたいってやつ。履歴テーブルを顧客で集計して、その最新の履歴をゲットしたい。こういうやつだ。 select id, user_id, access_path, created from logs where year(created) = 2015 group by user_id order by id…

mysqlのひらがな、カタカナ、漢字でのソート

一説によるとDBに入れた文字コードとdefault-charsetが同じ文字コードならソートされるらしいと聞いたので、試してみた。order byにソートしたいカラムを指定するだけ。 全角ひらがなと全角カタカナはソートされたけど、漢字が全くダメだった。ユーザー定義…

JOIN先にNULLレコードを含んでひとつの表にしたい

JOIN先がNULLになる場合にどういう処理を行うのが最適なのか。 最適解を求めて悩み始めたので、ココはお悩みを晒してみる。 こんな感じのテーブル構成になっています。 やりたいことは、usersとattendsをくっつけて、attendsのevent_idをキーにこういう結果…

case-sensitiveには気をつけようね

( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \ だいぶ初歩的なところで┣¨┣¨┣¨はまりして死にたくなった。ハマるよりもハメたい。 僕、思い込んでたんだ。ほら、WindowsのMysqlってさ、大文字小文字区別しないじゃない。ホントはその段階で気づけって話なんだけどさ。…