SQL
SELECT sqlite_version() などするとお使いのsqliteのバージョンが取れる WITH句が使えるのは3.8.3から Release History Of SQLite SQLite Query Language: Core Functions
自分がほんとうにもとめていたもの SQLite Query Language: expression
こういうかんじで条件式の結果をcount distinctできる select count(distinct tag) as tag_count, count(distinct (case when entryId > 0 then tag end)) as positive_tag_count from your_table_name; sql - COUNT DISTINCT with CONDITIONS - Stack Overf…
この図がとてもわかり易かった。 出典: Visual Representation of SQL Joins - CodeProject stackoverflow.com
本当にメモ。 asで定義したエイリアスはgroup byでは使えない。特に、case when/when.... else endってやっているときは、case/whenのブロックをそのままgroup byまで持っていく必要がある。 stackoverflow.com
impalaでいうと、-iに相当するものはあるが、-oに相当するものはない。ので、CSV出力したい場合は自前でどうにかしないといけない。 LanguageManual Cli - Apache Hive - Apache Software Foundation
用語 英語 内容 ノード Node 点/頂点 エッジ Edge 線 有向グラフ Directed graph 方向を持つグラフ 無向グラフ Undirected graph 方向を持たないグラフ グラフの位数 Order of Graph グラフに含まれるノードの個数 次数 Degree あるノードに接合するエッジの…
impalaのCLIコマンド。 impala-shell -f input.sql -B -o ~/output.csv みたいな使い方。 Using the Impala Shell (impala-shell Command)
窓関数 Hive Date Functions – Hadoop Online Tutorials
こんなエラーが出た時は ERROR: Load into table 'users' failed. Check 'stl_load_errors' system table for details. \d stl_load_errors; して、 SELECT starttime, TRIM(colname), err_code, TRIM(err_reason) FROM stl_load_errors ORDER BY starttime …
SUMとCASEのコンボ 自分には使いこなせないので。出来れば1SQLでどうにかしたいけど、普通にシェルで2回実行するように命令を書けばいいのではないかという悟りを得る MySQLでの条件付きSUM,COUNTkontany.net 月ごと集計 こういう書き方があるのは知らなか…
psqlでCSV出力 psql データベース名 -c "SQL文" -A -F, -t > CSVファイル名 -A 桁揃えしない -F 区切り文字指定 -t カラム名除去 PostgresqlでコマンドラインからCSV出力knowledge.reontosanta.com psqlでパスワード入力したくない mysqlでいうところの-pオ…
updateってどう書くんだっけ?みたいなググりをいい加減撲滅するために、ちょっとだけ資料を揃えたかった。 http://www.cheat-sheets.org/saved-copy/sqlcheetsheet.pdf
unionでselect文の結果をつなげる。 orderbyは最後で。途中でorder by やるとえらる。 select * from hogehoge where id = 1 union select * from hogehoge where id = 2 union select * from hogehoge where id = 3 union select * from hogehoge where id …
SIMILAR TO正規表現 string SIMILAR TO pattern [ESCAPE escape-character] string NOT SIMILAR TO pattern [ESCAPE escape-character] こんなふうに使う。 CREATE TABLE Foobar (all_alpha VARCHAR(6) NOT NULL CHECK (all_alpha SIMILAR TO '[a-zA-Z]+') )…
結果の結合。 SELECT P1.proc_id, P2.proc_id, P1.anest_name, P2.start_time, +1 FROM Procs AS P1, Procs AS P2 WHERE P1.anest_name = P2.anest_name AND NOT (P2.end_time <= P1.start_time OR P2.start_time >= P1.end_time) UNION SELECT P1.proc_id, …
テーブルまたは、既存ビューに対するビュー(見せかけ) のようなものをつくる where 句による抽出条件も指定できるが、order by 句によるソート条件などは指定できない 削除するときはdrop view SQL 基礎編 (その二) ビュー操作 create view、select、drop vi…
サブクエリの結果が真のときにレコードが抽出される。 SELECT * FROM Absenteeism WHERE EXISTS (SELECT * FROM Absenteeism AS A2 WHERE Absenteeism.emp_id = A2.emp_id AND Absenteeism.absent_date = (A2.absent_date + INTERVAL '1' DAY));
LISTAGGを使う。 LISTAGG(集計関数) - オラクル・Oracle SQL 関数リファレンス select LISTAGG(size, ',') WITHIN GROUP (order by id) SIZE from DATA where ID = 2006; 感覚的には、 1,2,3,4 みたいな並びになると思う。 なお、withinは必須。
サブクエリって基本的に一つの結果しか参照できないように見えるけど、 それは select * from HOGEHOGE where id = (select id from FUGAFUGA); とかやった場合。 サブクエリで複数の結果がかえってくることが予想される場合は、INを使う。 select * from HO…
SQL*Plus - オラクル・Oracle SQL*Plus リファレンス