情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

2017-08-01から1ヶ月間の記事一覧

SQL JOINの注意点について

初回購入商品ごとに顧客を出力して顧客たちの初回購入月の総売上を出力するSQLを作っていたのですが 問題点があったので記載いたします。 まず今回このようなデータが入っているものとします。 customersテーブル 顧客名 +---+-------+ |id |name | +---+---…

PHPでDBのデータを扱う

PHPのアプリケーションを制作していてDBを扱う方法を学んだので記載いたします。 今回はDBの挿入と更新と削除を行う方法に絞って説明いたします。 1.挿入 挿入の処理は以下になります $stmt = $db->prepare("INSERT INTO テーブル名 (name, value) VALUES (:…

MySQLで大きい数値の表示とGROUP BYで複数指定の方法

MySQLを使っていて覚えた技術を記載いたします。 1.表示する数値を3桁でカンマ区切りにする 総売上など、ある程度大きい数値を出力するSQLを作った際に、そのまま表示すると見にくくなります。 SELECT total_sales as '総売上' 総売上 10000000 表示する数値…

SQL WHERE 1の意味について

SQL文でときどき SELECT fuga FROM hoges WHERE 1 といった書き方を見かけたのですがどういった意味なのか分からなかったので、調べたので記載いたします。 まず上記のSQL文は SELECT fuga FROM hoges と結果は変わりません。 [where 1]に関してですが、MySQ…

MySQLで特定期間のデータを抽出する

ある期間に始めて購入があった顧客を取り出して、購入した月から3か月間の累計購入金額を 出力するという処理を作ったので手順等記載いたします。 今回のブログでは3つのテーブルを使います(SQL文では2つ) 構造を記載いたします。 customersテーブル 顧客名 …

CakePHPでSession情報を取得する

CakePHPで記事を投稿するアプリケーションを作っていて Authを使ったユーザーログイン機能を実装したのですがログイン中ユーザーが記事を投稿する事が出来ておらず、 今回記事を投稿する際Sessionの情報からユーザーを判断する処理を作ったので手順書等を記…

SQL小数点の表示とtimestamp

SQLを扱っていて、小数点の表示とtimestampを扱ったので、使い方等記載いたします。 1.小数点の指定 データの平均を出す計算をするときなどで、小数第何位まで表示するか指定したいときがあると思うのですが そういったときに使えるのが[DATE_FORMAT]です。 …

MySQLで日付に関する処理

日付の処理の実装 MySQLでとある月から〇ヶ月後のデータを取得するなどを行ったので手順書等を記載いたします。 1.DATE_FORMAT 日付データから特定の数値だけ必要な時はDATE_FORMATを使います。 例えばフィールド[birthday]に[1994-05-23]という形式で誕生日…

MySQLでデータの結合と月ごとのデータの出力

MySQLでサブクエリやDATE_FORMATを使用したので、 手順書等を記載いたします。 1.月毎にデータを出力する データを月毎の結果で出力したい場合は DATE_FORMTというものを使います。 使い方としましては SELECT DATE_FORMAT(fuga_time, '%Y-%m'), COUNT(*) FR…