タグ

sqlと関数に関するmahler-5のブックマーク (3)

  • Window関数 — Let's Postgres

    また、CREATE FUNCTION 文でユーザ定義のWindow関数を追加することもできますが、バージョン 8.4 ではC言語で関数を記述する必要があります。SQLやPL/pgSQLは使えないので、敷居は高いかもしれません。 例 典型的なWindow関数の使い方を挙げます。この他にも、これまで複雑なSQLが必要だったさまざまなケースを効率化できる可能性がありますので、SQLパズルだと思って試してみてください。。 連番付与 連番付与を行います。ソートした後、番号をふるのがポイントです。 SELECT row_number() OVER (), * FROM (SELECT * FROM tbl ORDER BY sortkey) AS t; ただし、結果の最大行数を指定するには、row_number との値の比較ではなく、これまでどおり LIMIT 句を使ってください。row_number

  • SQL(Postgresql)で曜日や週で集計する - 猫も茶を飲んだ

    ふと、Postgresqlで曜日や週の集計ができんのかなーと思って、検索してみたところ、あった。過去にも何度も思ったことがあるはずだが)、探し方が悪かったのだろう。postgresql7.2のころから、extract関数というのがあって日付から世紀 century や日 day や十年 decade やら曜日 dow がとりだせる。「extract 関数は日付/時刻の値から年とか時刻などの部分フィールドを抽出します」だそうですよ!(がーん! 知らなかった。。。)詳細は「日付 関数 演算子」などで、postgresqlのドキュメントで探してください。バージョンにはご注意。。 曜日をとりだす例。 select extract(dow from timestamp '2001-02-16 20:38:40');この場合、 '2001-02-16 20:38:40'をtimestampにして、そこ

    SQL(Postgresql)で曜日や週で集計する - 猫も茶を飲んだ
  • 逆引きSQL構文集 - 文字列の一部を取得する(Mid, SUBSTR, SUBSTRING)

    ここでは各DBMSごとに文字列の一部を取得する方法を紹介します. Accessの場合 AccessはMid関数かMidB関数を使用します. Mid(string, start[, length]) MidB(string, start[, length]) Mid関数は string で示す文字列の start から length 文字分文字列を取得します. MidB関数は string で示す文字列の start から length バイト分文字列を取得します. ここで start の先頭の位置は1から始まります.また,length は省略可能です.省略した場合は文字列の最後まで取得します. SQLサンプル Mid関数を使用して文字列の一部を取得する例を以下に示します. SELECT Mid('チャーリーブラウン', 1, 5); 結果 Expr1000 SQLServerの場合 SQL

  • 1