PMQ -PazdraMonsterQuery-

最低限Where句だけ使えるようになればOKです。
where句
where句を入力することで取得条件を指定できます。
以下はスキブ5以上のモンスターを抽出するwhere句です。
暗闇・お邪魔・毒耐性を合計4つ以上持っている武器を取得します。
主属性が光以外、HPが10000以上、悪魔またはドラゴンタイプのモンスターを取得します。
<>=の否定形で不一致を表します。orは「または」という意味です。
余裕があればorder by句も知っておいてください。
order by句
order by句を入力することでソートができます。
以下の例は、スキルターンが3以下のモンスターを、スキルターンの短い順、スキルターンが同じ場合はコストの低い順に取得します。
ソートキーの直後に asc と付けると昇順、desc と付けると降順です。何も付けないと昇順になります。
以下の例は、固定ダメージスキル持ちのモンスターをスキルターンの昇順、スキブ数の降順で取得します。
このあたりから難しくなっていきます。where句とorder by句だけ使えれば十分ですので、無理して読み進めなくても大丈夫です。
POWER関数
POWER(2, 3) とすると、2の3乗を計算することが出来ます。(2✕2✕2=8)
以下は、7コンボ強化を3個以上持っているモンスターを、7コンボ時の攻撃力が高い順に取得します。( *は掛け算の記号です。)
以下は、悪魔キラーを2個以上持っているモンスターを、悪魔に対する攻撃力が高い順に取得します。
潜在悪魔キラー は、バランス・神・攻撃タイプの場合は「1.5」、それ以外では「1」になります。)
 
From句
From句を入力することで取得対象テーブルを指定できます。
以下A~Dの4種類のテーブルがありますので、キーワード FROM の直後にテーブル名を入力します。
限凸可能ポケモンのステータス 超覚醒対応ポケモンの覚醒 from句で指定するテーブル名
A Lv.110時のステータス 超覚醒が反映済み 超覚醒110110超覚醒超覚醒110
B Lv.110時のステータス 超覚醒が未反映 覚醒110110覚醒覚醒
C Lv.99時のステータス 超覚醒が反映済み 超覚醒9999超覚醒99
D Lv.99時のステータス 超覚醒が未反映 覚醒9999覚醒

複数あるテーブル名のうち、どれを指定してもOKです。from句がない場合はAから取得します。

以下の例は、超覚醒を除いてスキブが5以上、未限凸で攻撃力が3000以上のモンスターを取得します。
限凸不可能モンスターのステータスは、どのテーブルでもレベル最大時のステータスとなります。
全テーブルともステータスに+297とボイス覚醒を反映済みです。
 
select句
select句を使えば表示するステータスを変更できます。
以下の例は、HPの表示内容をマルブを反映した値に変更します。
select」 + 「表示内容」 + 「as HP」でHPの表示内容を変更します。

攻撃力や回復力も変更する場合は、以下のようにカンマで区切って記載します。
select句でステータスを変更した場合、where句やorder by句の「HP」「攻撃力」「回復力」は変更後の値となります。
以下の例では、10万という通常ありえない攻撃力を条件にしていますが、悪魔キラー反映後の攻撃力となるため、抽出対象モンスターが存在します。
HP、攻撃力、回復力を変更しても、換算値には反映されません。「as 換算値」も使えますので、反映させたい場合は自前で計算してください。
 
in演算子
where 主属性=火 or 主属性=水 or 主属性=木」は、in演算子を使って以下のように記載することもできます。
not in で、上記の否定形になります。
以下は「where 主属性<>火 and 主属性<>水 and 主属性<>木」と同じ意味です。
ここから下はかなりマニアックな内容です。プログラミング経験者でないと理解は難しいかもしれません。
case式
CASE WHEN 条件 THEN 条件に一致する場合の値 ELSE 一致しない場合の値 END」の書式で記載します。

回復タイプのHPが1.5倍になるリーダーをLFで使用するときに、陣持ちのHPタンクを光属性から探します。
WHEN 条件 THEN 条件に一致する場合の値」は複数書けます。
以下は、バランスタイプ、回復タイプ、売却用タイプ、の順でソートする例です。
 
タイプ
モンスターのタイプは複数の値を取ります。
以下の条件は両方のタイプを持つ絶メタ等にマッチします。
タイプは複数の値を取るため、「=」の意味合いが変わってきます。
通常「=」「<>」は「一致」「不一致」を意味しますが、タイプに対して使用すると「含む」「含まない」の意味となります。
後述の属性、スキルに対して使用する場合も同様です。

また複数の値を取る関係上、「order by タイプ」としてもタイプでソートは出来ません。
case式のところで示した例のように、case式を使用してソートしてください。
 
属性、主属性、副属性
「主属性」は、「火」「水」「木」「光」「闇」の内どれか1つに合致します。
「副属性」は、「火」「水」「木」「光」「闇」「無」の内どれか1つに合致します。
「属性」は、 「火」「水」「木」「光」「闇」「無」の内最大2つに合致します。

バージュリPTのサブ候補を、副属性が光闇でないモンスターの中から検索する例です。
複数の値を取る関係上、「order by 属性」としても属性でソート出来ません。それに巻き込まれて「order by 主属性」「order by 副属性」も出来ません。
case式を使ってください。

主属性「水」、主属性「火」、副属性「水」、副属性「火」の順でソートする例です。

「火」「水」「木」「光」「闇」「無」は、内部処理的に特別な項目となっており、case式の結果に出来ませんのでご注意ください。
where 主属性 = (case when タイプ=神 then 火 else 水 end)」は期待通りに抽出できません。(case式の結果が「火」か「水」になるため)
where (case when タイプ=神 then 主属性=火 else 主属性=水 end)」なら期待通りの抽出が可能です。(case式の結果は真偽値)
 
スキル
スキルにはタグ方式を採用しており、「スキル」とタグのマッチングで抽出を行います。
光・闇を作らない回復含む2~3色陣を探す例です。
スキルタグ一覧は を参照してください。
タグ付けの条件は、スキルの説明文を正規表現で判定しただけの手抜き仕様です。

ターンが付随するスキルは、スキルタグ +「ターン」がスキル効果ターンを表します。
2ターン以上のヘイストを検索する例です。
ヘイストを持っていないモンスターは「ヘイストターン」の値は0になりますので、2ターン以下を検索するような場合はご注意ください。
 
コメント
--」(2連続の半角ハイフン)以降の行末までの文字はコメント扱いとなります。
複雑な計算式に説明を付与するなどの目的で使用します。
また、1行目がコメントになっているSQLを履歴に追加すると、そのコメントがドロップダウンリストに表示されます。
 
DISTINCTオプション
以下の検索結果を見るとロシェが1位2位5位にランクインしています。(2020年8月現在)
それぞれ攻撃力が異なっており、1位は超覚醒が「50%以下強化」のロシェ、2位は超覚醒が「2way」のロシェ、5位はその他のロシェです。
SELECT句によりステータスが変更され、且つその変更が超覚醒起因の場合は、このように同モンスターが複数抽出されます。

以下のようにSELECT句に「DISTINCT」オプションを指定すると、1位のロシェのみ抽出されるようになります。
DISTINCT」は「SELECT」の直後に記載する必要があります。他の場所ではエラーになりますのでご注意ください。
以下はなんとなく実装したどうでもいい機能。
強調表示
select句で「as 色」を指定すると、対象モンスターの背景色を変更できます。
色は「#FFFFFF」形式の16進数カラーコードで指定してください。

超覚醒起因の色変更を行うと、同じモンスターが複数抽出されます。DISTINCTによりこれを1つにする場合は、
優先させたい色が先頭にくるようにorder by句などで調整してください。
 
ステータスラベル
検索結果の「HP」「攻撃」「回復」「換算値」のラベルは以下のように変更できます。
コメントに「,」(半角カンマ)が3つ記載されている場合、「HPのラベル,攻撃のラベル,回復のラベル,換算値のラベル」と解釈されます。
1行目または2行目に記載されているコメントが対象です。(1行目がコメント且つ1行目に「,」が3つ記載されていない場合に限り、2行目を対象とします。)

 
履歴
「履歴に追加」チェックボックスにより20件までSQLを保存することができます。20件を超えると古いものから削除されます。

履歴の保存先はサーバ上ではなく、html5から導入されたLocalStorage機能を利用し、お使いのブラウザにSQLを保存しています。
この機能に未対応の古いブラウザでは稼働確認していません。最近のブラウザでご利用ください。

OS・ブラウザ毎に最大容量が決まっており、文字数の多いSQLを沢山保存すると20件を超える前に保存できなくなります。
「Storage」と入力して検索ボタンを押下すれば、現在使用中の容量を表示します。

削除ボタンによりドロップダウンリストを空にすれば、当サイトがブラウザへ保存したLocalStorageは全て削除されます。
 
共有
検索結果に対してURLを発行します。
このURLをSNS等に投稿することにより検索結果を共有することが可能です。

URLの作成方法
1.通常通りSQLを入力して検索します。
2.検索結果が1件以上表示されることをもって、SQLに問題がないことを確認します。
3.先頭にコメント行を1行追加します。
4.追加した1行目にコメントとして「share」と記載します。(1行目を「--share」にします)
5.検索ボタンを押下します。
6.作成されたURLが表示されます。

作成したURLは30日間有効です。30日経過すると該当ページは自動で削除されます。(期間は使用状況により今後変更する可能性があります)
同一IPアドレスからは24時間以内に10回までURLを作成可能です。
検索結果を保存しているわけではなく、SQLを保存しているだけですので、モンスターデータに変更があった場合は検索結果が変わるのでご注意ください。