SELECT SUM(CASE WHEN Jouhou = 'A' THEN 1 ELSE 0 END)as 'A', SUM(CASE WHEN Jouhou = 'B' THEN 1 ELSE 0 END)as 'B', SUM(CASE WHEN Jouhou IS NULL THEN 1 ELSE 0 END)as 'null' FROM DBTable
![[MySQL] 同じカラム合計値を複数条件で別々に](https://cdn-ak-scissors.b.st-hatena.com/image/square/44babb1ba1f3653a4e73ca732909e09a036139ed/height=288;version=1;width=512/https%3A%2F%2Fb.0218.jp%2Fimages%2Fogp%2F20120512030810.png%3Fts%3D1f0711bcf895d0eec2a8e04c6ab978d1c48a4664)
MySQL 5.6からの機能であるGTIDを、Facebookの環境に適用した際の流れと主な不具合、そしてそれらの修正点について、Facebookのエンジニアによるまとめ。 by Evan Elias and Santosh Praneeth Banda Global Transaction ID (GTID)は、MySQL 5.6の新機能の中でも最も使わずにはいられない機能の一つだ。このおかげで、フェイルオーバやポイントインタイムリカバリ、階層を持ったレプリケーションなどに非常に有益だし、クラッシュセーフなマルチスレッドレプリケーションの必須条件にもなっている。この数ヶ月で、我々はFacebookの全ての本番用MySQLインスタンスで、GTIDを有効にした。その中で、この機能の適用方法や操作について、たくさんの知見が得られた。たくさんのサーバサイドの修正事項については、WebScaleS
(最終更新日: 2017/9/25) はじめに production 環境で MySQL 5.6 動かすためのパラメータ設計についてまとめました。この記事がカバーする内容は次のとおりです。 パラメータを設定するスクリプト。 各パラメータにおける変更するかどうかの判断基準。 想定されるメモリの消費サイズを算出してパラメータが妥当かどうか確認する方法。 サービスの状況に応じててきぎ読みかえてください。 【結論】パラメータグループ作成・パラメータ設定のスクリプト 結論として、パラメータグループを作成し、パラメータを設定する aws-cli のスクリプトを置きます。Amazon AWS の Web Console から設定することもできます。 #!/bin/sh # == パラメータグループ作成 aws rds create-db-parameter-group --db-parameter-gr
単純にdumpとって挿入するだけ mysqldump -u{username} -p{password} {source_dbname} > /tmp/temp.dump mysqldump -u{username} -p{password} {dest_dbname} < /tmp/temp.dump 一行で書くこともできますが、移行元と先がひっくり返ってるとなきそうになるので一旦ダンプをファイルに落とすほうが個人的には好きです mysqldump -u{username} -p{password} {source_dbname} | mysql -u{username} -p{password} {dest_dbname}
発生した現象 Vagrant+VirtualBox+CentOSって環境にMySQL5.6をインストールして起動しようとしたところ $ sudo service mysqld start MySQL Daemon failed to start. Starting mysqld: [FAILED] とこんな感じで起動できなかったので調べてみたよ。 まず、ログの場所を確認。 $ cat /etc/my.cnf ... [mysqld_safe] log-error=/var/log/mysqld.log /var/log/mysqld.logにログがあるようだ。 エラーメッセージ確認 というわけで、ログからエラーメッセージを探してみる。 $ sudo cat /var/log/mysqld.log ... 2014-03-21 15:21:46 2492 [Note] InnoDB: Ini
MySQLに限らないけど、「GPLは営利目的では使えない的な思い込み」は止めて欲しい。 先週、システム開発の提案で客先に行ってきた。 当方、30前半のSE。対応してくれた担当者は40代後半の情報システム部門の方。 提案したシステムの規模はそれほど大きくはなく、お客さんからもあまり予算はないと言われていたため、RDBMSに「MySQL」を使ったWebシステムを提案したところ、「それほど可用性は求めてないし、無料で使えるDBの方がいい」と言われた。 あぁ、商用ライセンスを購入すると勘違いしたんだな、と思ったので、「MySQLはGPLライセンスもあるので無料で使うことができますよ」と説明したところ、担当者の顔が険しくなった。 「GPLだとソースコードを公開しないといけないんだよ?たとえMySQLのソースコードを改変していなくても、MySQLを使ったソフトウェアであればソースコードを公開しないとい
別テーブルからの INSERT なんて INSERT INTO HOGE_TABLE SELECT ID, PASSWORD, ..., ..., FROM FOO; こんな感じでやってしまえば入っちゃいますよね。 別テーブルから INSERT しつつ、連番も付けたい場合、どうすればいいか… 挿入先の行数をカウントしてプラス 1… こんな感じですかね… INSERT INTO HOGE_TABLE SELECT (SELECT COUNT(NUMBER)+1 FROM HOGE_TABLE), ID, PASSWORD, ..., ..., FROM FOO; ただ、これだとこんな感じで上手く連番になってくれません。 +--------+------+-----------+------+ | NUMBER | ID | PASSWORD | ... | +--------+------+
WordPress 4.2 より「拡張文字のサポート」として中国語・日本語・韓国語の文字、音楽・数学用の記号、象形文字を含む多くの新しい文字に対応しました。 この記事で紹介している DB のテーブルの文字コードを変えるという手法もアップデートの流れで行われているようです。 CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ciデフォルトで絵文字?が使えるようになったみたいです。 詳しい経緯は省きますが、2010年に Unicode6.0 に絵文字が登録され、ケータイでおなじみのの絵文字をPCでも閲覧できるようになりました。(環境によっては見られない場合があります) 詳細: 顔文字 - Wikipedia Twitter なんかでは環境依存文字何それ世代が頻繁にこれらの文字を使ってるのを散見されます。見られる環境が一般的になっていけば使っても何ら問題はありません
blog.mah-lab.comはWordPressに移行した上に、現在みんな大好きherokuで運用しております。 「なんでわざわざherokuなんかで運用するんですか? マゾなんですか?」 いえいえ、ライトに立ち上げるなら、わざわざVPSなんて借りなくてもいいんですよ! herokuで立ち上げるメリットは、たくさんあるんです。なんといっても、無料だしね。 以下のような人に多大なメリットがあります。 無料で運用したい。 FTPなんて前時代的なものは使いたくない。git push heroku masterとか、コマンド一発でリリースしたい。 WebサーバやMySQLの面倒を自分で見たくない。誰か代わりに運用して! ものすごい負荷が来たときでも(金さえ払えば)落ちないようにしたい。 無料で運用したい。 herokuは無料からはじめられます。上手くいくかどうか分からないものを、お金を払っては
先日、台風が来てるというのに終電間際の電車で寝過ごし、どしゃ降りの中土地勘のない場所を 1 時間ほど歩いた kimoto です。ネタとして楽しんでいた iOS6 の地図をこんなに恨めしく思う事になるとは…。いまだに脚が痛い。 今回は MySQL で、頻繁に使うことはないものの便利なためちょいちょい使う。そして、その度にググっている…。 そんな機能達をまとめてメモっておこうと思います。 目次はこんな感じ。ではどうぞ。 GROUP で集計したデータの合計値を出力したい! 結果を結合した状態で取得したい! SELECT の結果を INSERT したい! 結果をランダムに取得したい! まずはこんなデータを用意してみました mysql> SELECT * FROM users; +----+-----------+-----+-----+------+ | id | name | sex | age
テーブルにデータをインポートする時には、「LOAD DATA INFILE」を使うのがベストだと思うのですが、 現在携わっているプロジェクトで、1.3GB(2600万件前後)の大容量データを扱う際に インポート途中で止まってしまうことがしばしば… これでは作業が全く進まないので、MySQLの設定をいじってみることにしました(・∀・) (これが世に言う「チューニング」というものなのか…??) Windowsの場合、MySQLの設定ファイルは「my.ini」で、その中身は… [mysqld] basedir=C:¥VertrigoServ¥Mysql¥ datadir=C:¥VertrigoServ¥Mysql¥data¥ port =3306 key_buffer =12M max_allowed_packet =1M table_cache =32 sort_buffer_size =51
mysqldumpをオプションなしで実行すると、標準出力にテーブル定義のcreate文とinsert文が出力されます。 insert文だけを出力するには、-t または --no-create-info オプションを指定します。 $ mysqldump -t DB名 テーブル名 テーブル定義だけを出力するには -d または --no-data オプションを指定します。 $ mysqldump -d DB名 テーブル名 テーブル定義だけを出力する方法として、-w でダンプするデータの条件が偽になるようにするという手もあります。 $ mysqldump DB名 テーブル名 -w '0=1' さらに意味のない方法ですが、show create table を使って create 文を出力することもできます。 show create table は以下のようにテーブル定義を出力します。 mysql>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く