タグ

sqlに関するchlonoのブックマーク (23)

  • ここまでやるか。SQLiteをJavaScriptに変換·SQL.js MOONGIFT

    SQL.jsはSQLiteEmscriptenを使ってJavaScript化したソフトウェアです。 SQL.jsはWebブラウザ上で使えるデータベースです。Emscriptenを使ってSQLiteJavaScriptに変換した面白いソフトウェアです。 デモです。テキストエリアに書かれたSQLを実行できます。 実行した結果です。最終的な結果だけが出力されています。SELECTの結果はJSONデータとして取得されています。 もちろん普通にSQLが使えます。 日語は出力時は化けてしまいましたがデータ上は問題ないと思われます。 SQL.jsはSQLiteがそのままJavaScriptになってしまったようなソフトウェアです。慣れた使い勝手でSQLを実行したり、データを取得できてしまうのは面白そうです。なお現状Google ChromeやFirefoxにしか最適化されていません。 SQL.jsは

    ここまでやるか。SQLiteをJavaScriptに変換·SQL.js MOONGIFT
  • 全ては時の中に… : 【SQL】DISTINCT句の記述位置による実行結果の違いについて

    2007/8/2521:27 【SQL】DISTINCT句の記述位置による実行結果の違いについて DISTINCTの使い方には、以下の2種類がある。 1.取得する選択リスト(項目リスト)の前にDISTINCTを記述する 例)SELECT DISTINCT COUNT(Column_Name) ... 2.集計関数内にDISTINCTを記述する 例)SELECT COUNT(DISTINCT Column_Name) ... 上記の実行結果では、重複を排除する対象に差異が発生する。 その差異は、以下の通りである。 1.DISTINCT COUNT(Column_Name)の場合、選択項目の組み合わせが重複しないレコード件数を表示する。 2.COUNT(DISTINCT Column_Name)の場合、単体の項目(Column_Name)の重複していない件数(種類数)を取得する。 以下、実行結

    chlono
    chlono 2011/12/08
  • SQLとJSONをNode.js上で組み合わせた新言語「ql.io」をeBayが公開

    eBayが、JavaScriptアプリケーションからSQL文のような形式でデータベースへの問い合わせを記述できるDSL(ドメイン固有言語)のql.ioを発表。オープンソースとして公開しました。 現在、多くのWebアプリケーションが、バックエンドとのデータのやりとりにHTTPをベースにしたAPIを用いています。しかし、WebベースのAPIによってデータを取り出すのは、プログラマにとって実は手間のかかることです。 例えば、キーワードを入力すると関連する商品の名前、詳細、購入者の評価をユーザーに表示する、というWebアプリケーションでは、まずキーワードでデータベースを検索して商品IDを取得し、今度はその商品IDをキーにして名前や概要、評価の情報を取得する、といったように、APIを繰り返し呼び出す必要があります。 ql.ioはこうした内容をSQLのように分かりやすい記述で実現するだけでなく、複数の

    SQLとJSONをNode.js上で組み合わせた新言語「ql.io」をeBayが公開
    chlono
    chlono 2011/12/02
    面白そうだし便利そう
  • Mysqlレコード集計について - OKWAVE

    >SQL文が理解できませんでした・・・ すみません。はしょりすぎましたね。 くわえて、バグがありましたのでついでになおします。 以下のように段階を分けて組んでいけばよいでしょう。 (1)まず、自分より以前でwinが自分以外のものの最大値をえます。 SELECT( SELECT MAX(d) FROM hoge where h1.d>d and h1.win!=win )AS pre ,win FROM hoge AS h1 こうすると連勝、連敗中の直前データがpreに表示されます。 (2)preとwinの組み合わせで連勝連敗記録を拾います。 SELECT ( SELECT MAX(d) FROM hoge where h1.d>d and h1.win!=win ) AS pre ,win,count(*) as c FROM hoge AS h1 group by pre,win (3)

    Mysqlレコード集計について - OKWAVE
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • MySQLパフォーマンスチューニングのためのインデックスの基礎知識 - 久保清隆のブログ

    仕事MySQLのパフォーマンスチューニングをしていて、インデックスについて分かっていないことが多かったので調べたことをメモ。基的なところから学習しなおした。 MySQLのインデックスは、カラムが特定の値をもつレコードの迅速な検索に使用される。インデックスを使用すれば、数百とか数億ものレコードが入っているテーブルから、一組のレコードを迅速に見つけて取り出すことが可能になる。 しかし、インデックスは速度を改善することもあるが、挿入の邪魔になって遅くなることもある。 インデックスを適切に使うために、まずはインデックスの基概念をおさえる必要がある。 インデックスの概念 インデックスとは インデックスの仕組みを理解するには、まずMySQLがどのようにクエリに応答するかを知る必要がある。 例えば、 SELECT * FROM phone_book WHERE last_name = 'Hoge'

    MySQLパフォーマンスチューニングのためのインデックスの基礎知識 - 久保清隆のブログ
  • SQL脳に優しいMongoDBクエリー入門 - taka512's blog

    mongoコマンドから接続した際にオールドタイプ(SQL脳)たる我々人類にも 調べやすい形でinsert、select、updateを行う方法を調べました。 定義参照 // use [データベース名] use [データベース名] // show databases show dbs // show tables show collections参照系 // select * from [コレクション名] db.[コレクション名].find() // select * from [コレクション名] where x=4 db.[コレクション名].find({x:4}) // select j from [コレクション名] where x=4 db.[コレクション名].find({x:4}, {j:1}) // select * from [コレクション名] limit 1 db.[コレクション

    SQL脳に優しいMongoDBクエリー入門 - taka512's blog
    chlono
    chlono 2011/09/13
    JOINはできないときいてたけど、こういう方法ならいけるんだなあ。少し楽に使えそう
  • AUTOINCREMENTを設定する場合としない場合の違い

    SQLite の環境で INTEGER PRIMARY KEY に AUTOINCREMENT を合わせて設定した場合にどのように自動的に値が割り当てられるようになるのかについて解説します。また今までに割り当てられたことのある最大の値を確認する方法を合わせてご紹介します。 AUTOINCREMENTを設定した場合の値の割り当てルール カラムに対して INTEGER PRIMARY KEY を設定した場合、データを追加した時に INTEGER PRIMARY KEY を設定したカラムの値を指定しないと自動的に値が格納されます。自動的に格納される値は、対象のカラムに格納されている最大の値に 1 を加えた値となります。この値は以前に割り当てられたことがあるかどうか関係がないため、データの追加と削除を繰り返していると以前に格納されたことがある値が再度カラムに格納される場合があります。 カラムに I

    AUTOINCREMENTを設定する場合としない場合の違い
    chlono
    chlono 2011/08/24
    「なおAUTOINCREMENTを指定した場合は、ROWIDの値も一度使われた値は使われなくなります。つまりAUTOINCREMENTを指定してもINTEGER PRIMARY KEYが設定されたカラムの値とROWIDの値は常に同じです」じゃあいつもROWIDを見てればいいのかな
  • ぷぎえもん日記 |mysqlでNULLを判定して0に置換する

    以前と同じ場所,NULL問題ではまったのでブログに書いておきます. sqlでupdate文を流すとき,中身がNULLだとうまく加算ができませんでした. 実はこれはかなり前にハマった記憶があります.しっかりしていないとすぐに忘れてしまいますね. 確認のためにまず練習用のテーブルを作ります. CREATE TABLE niceboat ( id int(2) NOT NULL auto_increment, num int(3) , point int(3), PRIMARY KEY (id) )ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • イチからはじめる - SQL レファレンス

    SQLリファレンス・ガイド - イチからはじめる.

  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • PostgreSQL で直前に使ったシーケンス値を取得する currval 関数 - hoge256ブログ

    よくあるパターンですが、あるテーブルを INSERT した直後に、関連するテーブルにもデータを INSERT する必要があって、最初に INSERT したテーブルのキー項目の値が取りたいんだけど、そのキー項目はシーケンスで設定している。みたいな場合の話です。 currval 関数を使って次のような感じにできます。 -- データを INSERT INSERT INTO hoge (hoge_no, hoge_text) VALUES (nextval('hoge_no_seq'), 'ほげげ'); -- 直前のシーケンス値を取得 SELECT currval('hoge_no_seq'); currval 関数は同一セッション中で設定された直前のシーケンス値を返すことを保証しているので、他のプログラムからも nextval がガンガン使われているような環境でも、しっかり直前の値を返してくれる

  • SQLライクな構文でTwitterにアクセスするtweeql | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー tweeqlを使うとTwitterSQLのような構文でアクセスできる。Pythonとeasy_installさえインストールされていれば,導入は簡単。 sudo easy_install tweeql のようにすればOK。 tweeqlはPythonのライブラリだけど,コマンドラインからも簡単に試せる。 動かすのに設定ファイルが必要なので,以下のようにして設定ファイルのひな形をダウンロードしておく。 wget http://github.com/marcua/tweeql/raw/master/settings.py.template -O settings.py その後,コマンドラ

  • SQLアタマアカデミー 記事一覧 | gihyo.jp

    最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (5)集合指向と手続き型 ミック 2010-05-28 最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (4)OLAP関数と集約関数を組み合わせる ミック 2010-05-27

    SQLアタマアカデミー 記事一覧 | gihyo.jp
    chlono
    chlono 2009/08/06
  • トップページ - DB Designer 4 日本語化サイト

    オープンソースでフリーなER図作成ツール「DBDesigner4」の日語化を試みるサイトトップページ このサイトについて bookmark このサイトはfabForceで公開されているDBモデリングツール「DB Designer 4」の日語化を試みるサイトです。 個人が運営するサイトなので公式なサイトではありません。 「DB Designer 4」はGPLライセンスで公開されているオープンソースソフトウェアです。 「DB Designer 4」についての詳細情報は家サイトをご参照ください。 fabFORCE.net DBDesigner4の特徴 bookmark 直感的なGUIによるERモデル図のモデリング ERモデル図からSQL文(CREATEやDELETE)の自動生成 データベースからリバースエンジニアリングによるERモデル図の生成 データベースとERモデル図の同期化機能 軽快

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    chlono
    chlono 2008/11/16
  • Access #M044 «DAOでレコード件数をカウントする方法»

    chlono
    chlono 2008/11/16
    0件の場合は「EOF=True」になる。注意。
  • http://homepage1.nifty.com/kojama/works/rdbms/jet/sql.html

  • 切り捨て、切り上げ、四捨五入(マイナス値は要注意) - ただぶろぐ

    SQLで、切り捨て、切り上げ、四捨五入は、全部round関数しかないと思ってました。 切り捨て FLOOR 引数nに対して、それ以下で最も大きい整数値 切り上げ CEILまたはCEILING 引数nに対して、それ以上で最も小さい整数値 四捨五入 ROUND 四捨五入 知らなかった。。 小数以下を細かく設定する場合はROUNDでしょうけども。 面倒なやりかたをしていた自分が恥ずかしい。 あ。でもマイナス数値の場合、気をつけないと予期しない値になるかも。 select ceiling(-2.5) as CEIL, floor(-2.5) as FLOOR, round(-2.5, 0) as ROUNDの結果は CEIL FLOOR ROUND -2 -3 -3 む。厳密には、切り捨て、切り上げにならないか?

    切り捨て、切り上げ、四捨五入(マイナス値は要注意) - ただぶろぐ
  • CASE式のススメ(後編):CodeZine

    はじめに CASE式は、SQL-92で標準に取り入れられました。比較的新しい道具であるためか、便利なわりにその真価があまり知られておらず、利用されていなかったり、CASE式の簡略版であるDECODE(Oracle)、IF(MySQL)などの関数で代用されていたりします。 CASE式を活用すると、SQLでできることの幅がぐっと広がり、書き方もスマートになります。しかも、実装非依存の技術なのでコードの汎用性も高まります。特にDECODE関数を使っているOracleユーザーには、ぜひCASE式への乗り換えをお薦めします。 前回『CASE式のススメ(前編)』では、CASE式の文法とその応用方法について解説しました。今回は引き続き、CASE式のより高度な応用方法について解説します。必要な環境 次のいずれかのデータベース(MS Accessは対象外)。Oracle(9i以降)SQL ServerDB2

    chlono
    chlono 2008/11/16