Mee's Engineer Blog

PHPエンジニアの技術ブログ

IEでjQueryが正常に読み込めない時の確認

jQueryを利用したWEBサイトを作成中に、IEだけレイアウトが崩れていました。(Chromeでは正常表示)

理由を調べてみると互換表示設定が原因らしかったので、HTMLファイル側に互換表示設定を強制無効化する記述をする事で解決できました。

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

alias登録をずっと登録しておく方法

aliasコマンドは日常よく使うコマンドを登録しておくと便利です。
ですがターミナル上で普通に実行しただけでは再起動した際には登録が失われてしまいます。
ずっと登録しておくには、ホーム(/homeというわけではなく、繋いでいる場所のホーム。つまり繋いだ最初の場所)にある
.bashrcに登録しておく必要があります。

例えばMySQLの接続をさぼるやり方としては

alias mysql='mysql -h ホスト名 -u ユーザー名 -pパスワード'
(-pの後に半角スペースを空けてはいけない)

のような登録になります。

ログインログからログイン数を集計するクエリ

会員制のシステムでは、大抵ログインログがあるかと思います。
そこからログイン数を集計するクエリはMySQLSQL SERVERで若干違います。

管理ID(id)とログイン時間(login_date)がフィールドに用意されているログインログテーブル(login_log)から
アクセス数を集計するクエリは

MySQL

SELECT
SUBSTRING(login_date,1,10) AS '日付',
COUNT(id) AS 'アクセス数'
FROM login_log GROUP BY SUBSTRING(login_date,1,10) ORDER BY '日付' DESC


SQL SERVER

SELECT
CONVERT(DATE , login_date) AS '日付',
COUNT(id) AS 'アクセス数'
FROM login_log GROUP BY CONVERT(DATE , login_date) ORDER BY '日付' DESC

charとvarcharとncharとnvarcharの違い

結構よく使うけれど、ついつい忘れがちなのが
char、varchar、nchar、nvarcharの取り扱い方の違い。

すごく簡単に説明すると

  • char→文字数固定。全角非推奨。
  • varchar→最大文字数固定(未満でもOK)。全角非推奨。
  • nchar→文字数固定。全角半角関係なし。
  • nvarchar→最大文字数固定(未満でもOK)。全角半角関係なし。

超大雑把な説明でした。

テーブル数をカウントするクエリ

DBのテーブル情報を棚卸する際に、DBのテーブル数を確認したくなりました。
その際には以下の様なクエリを実行するといいです。

MySQL

SELECT * FROM sysobjects WHERE xtype = 'u'

SQLServer

SELECT COUNT(*) FROM `information_schema`.`tables` WHERE `table_schema` = 'テーブル名';

SQL ServerでLIMIT句を利用する

DBから指定の数だけレコードを引っ張ってくる際に、MySQLではLIMIT句を使えば簡単にできましたが
SQL Serverはひと工夫が必要です。

/* テーブルAからname順に最初の10件のデータを取得する */
SELECT TOP 10 * FROM テーブルA ORDER BY name
 
/* テーブルAからname順に11件目~20件目のデータを取得する */
SELECT * FROM
(SELECT name,ROW_NUMBER() OVER (ORDER BY name) AS record_num FROM テーブルA) AS t
WHERE record_num BETWEEN 11 AND 20
ORDER BY record_num

頭から表示させるのは難しくないのですが、途中から表示させるのが難しいですね。