MySQLのフィールドAに格納されているデータを同一レコードのフィールドBにコピーする方法
プログラムを使用せずにMySQLのみで
フィールドAに格納されているデータを同一レコードのフィールドBにコピーするクエリをメモ。
UPDATE `テーブル名` SET フィールドB=フィールドA;
なぜ、こんな簡単なことをわざわざ書くの?
という感じなんだけど、何故かたまに聞かれるので書いておく。
参考までに。
GoogleMAPを利用して任意の地図画像を表示する方法
PCサイトだけでなく携帯でも気軽に利用できるので
会社概要の地図などで重宝するかも。
<img src="http://maps.google.com/staticmap?center=中心緯度,中心経度&markers=マーカー緯度,マーカー経度,red&zoom=縮尺&size=240x240&key=APIキー">
APIキーは下記から取得可能(※要Googleアカウント)
http://code.google.com/apis/maps/signup.html
MySQLのフィールドに格納されている文字列を一括置換する方法
プログラムを使用せずにMySQLのみで
フィールドに格納されている文字列を一括置換するクエリをメモ。
例:C0000をW0000に置換するクエリ
UPDATE `web` SET id=REPLACE (id,"C0000","W0000");
phpMyAdmin上などで実行できるので
データ整形などで使う機会はあるはず。参考までに。
svnserve(subversion)で差分をエクスポートする際のタイムアウトエラー対処方法
TortoiseSVNなどで、差分エクスポートなどを実行した際に
ファイル数が多いとよく表示されるのが下記のエラー。
svnserve/tcp server failing (looping or being flooded), service terminated for 10 min
これが出るとイラッとする。
差分バッチファイルなどを作る際に非常に不便で困っていたところ
解決方法が見つかったのでメモ。
vi /etc/inetd.conf
svnserve stream tcp nowait.500 [ユーザー名] /usr/sbin/tcpd /usr/bin/svnserve -i -r [リポジトリ格納先]
上記のように編集。ユーザー名、パスなどは適当に書き換えてね。
重要なのは「nowait.500」の箇所。この数字がタイムアウト設定になります。
500で今のところ問題になっていないけど、1000とかにしておいてもいいかも。
エラー「PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/pdo_mysql.so'」の対処方法
バッチファイル作成の為、コマンドライン上でPHPを実行しようとすると
PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/pdo_mysql.so'
というエラーが出た。
Apacheでは正常に稼働しているのになぜだろう。
ということで、調べてみたけど、エラーの
は存在していた。
理由は分からないけど、とりあえずロードさせないように
; Enable pdo_mysql extension module ;extension=pdo_mysql.so
とすることでエラーは出なくなった。
原因が分かり次第、追記します。
各グループの点数が一番高いデータを取得するSQL
テーブルに格納されているデータにカラムAがあり、このAをキーとして重複を省き、
それぞれA毎のカラムBの最大値でBの降順でレコードが欲しい時のSQLをメモ。
要するにカテゴリー別の最優秀者リストとかね。
DISTINCT、GROUP BY、副問い合わせあたりの組み合わせなんだろうと
目星は付けたんだけど、寝ぼけた頭では無理だった。
これを小一時間悩んで、ダメモトでtwitterに投げてみたら
@takkkunさんが教えてくれた。感謝!
SELECT A, MAX(B) FROM テーブル GROUP BY A ORDER BY B DESC
ただ、これだとAとBのフィールドしか取得できないので
取得したいカラムを並べるとよい。
※「*」と書ければ楽なんだけどね。
SELECT A, MAX(B), C, D, E, F, G FROM テーブル GROUP BY A ORDER BY B DESC
twitterは素晴らしい。
同じように悩んでいる人がこれを見て解決してね!