SQLで最大値と最小値を求めるにはMAX関数とMIN関数を使用します。
使用例
- サンプルテーブル「goods」
- クエリー(SQL)
サンプルテーブル「goods」のtype_codeの最大値と最小値を抽出しているサンプルとなります。
1SELECT MAX(type_code), MIN(type_code) FROM goods; - 出力結果
IN句をEXISTS句へ変換するとパフォーマンスが向上すると言われることがあるので
IN句からEXISTS句への変換例をメモしておきます。
以下の商品テーブル「goods」と属性コードテーブル「type_code」を元に説明します。
商品テーブル「goods」のtype_codeが ‘101’で属性コードテーブル「type_code」にも存在する商品名を取得する例となります。
1 2 3 4 |
SELECT tc.code_name FROM type_code AS tc WHERE tc.code IN(SELECT type_code FROM goods WHERE type_code = '101'); |
WHERE句後の「tc.code IN」を「EXISTS」に変更し、「AND type_code = tc.code」を追加しただけです。
1 2 3 4 5 |
SELECT tc.code_name FROM type_code AS tc WHERE EXISTS (SELECT 1 FROM goods WHERE type_code = '101' AND type_code = tc.code); |
EXISTS句は使い慣れてないと今一つ分かりにくい気がするので、上記のEXISTSをNOT EXISTSで実行してみた例も記載しておきます。なんとなくEXISTSがどういう結果を出力しているかわかるかも。。
1 2 3 4 |
SELECT tc.code_name FROM type_code AS tc WHERE NOT EXISTS(SELECT 1 FROM goods WHERE type_code = '101' AND type_code = tc.code); |
SQLで指定した件数のみ取得する場合、MySQLやPostgreSQLではLIMIT句を使用します。
OracleではLIMIT句は使用できないのでROWNUMを使用します。
クエリーの最後にLIMIT(取得したいレコード数)を指定することで指定した件数のみ取得することが出来ます。
1 |
SELECT * FROM goods ORDER BY type_code LIMIT(3); |
Oracleの場合、ROWNUMを指定しただけではORDER BYでソート後の状態で取得ができないので副問合せで一度ソート後にROWNUMを指定することで指定した件数で取得することが出来ます。
1 2 3 |
SELECT * FROM (SELECT * FROM goods ORDER BY type_code) WHERE ROWNUM <= 3; |
「packer」はJavaScriptやjQueryなどの「.js」ファイルを最小化してくれるサイトです。
テレワークが広まって一気に需要が高まってきているMicrosoft Teamsですが、最初はブラウザからOfficeにログインしてアプリを選択して起動していると思います。
毎日のように利用していると毎回WEBにログインしてという作業が面倒になるのでそういった方にはデスクトップアプリ版をインストールすることをおすすめします。
iTunesを長く使用しているとiTunes上には表示されてても再生しようとすると「元ファイルが見つかりません…」のように表示され「!」マークが表示されることがあります。
こういうファイルをまとめて削除する方法をメモしておきます。
Excelで以下の様に文字列の書式で入力済の場合、セルの書式設定をまとめて数値へ変更しただけでは入力済の内容にまでは反映されません。
変更した書式に合わせて反映させるには1セルずつF2で編集モードへ変更してEnterで確定でも書式の反映はできますが、データ件数が多い場合は現実的ではありません。
こういう場合にまとめて設定した書式へ反映する方法をメモしておきます。
よくVLOOKUPなどで値は同じなのに文字列と数値で書式が違っているので上手く表示できていない場合などで結構役に立つ手段なので覚えておくと役に立ちます。