Land a flexible role at a scaling tech company. Get invited to exclusive jobs that match your unique skills. With a Stride profile, opportunities come to you.
今日はCSV/TSVなどのテキストファイルをSQLで操作できるツール「q」の紹介です。 使いどころ データ処理を実施する時にはDBに保存されているデータやテキストファイルなどをCSVやTSV等の一定のフォーマットに変換して処理することが多いと思います。そのデータ内容を確認するときには、例えばExcel等に貼り付けることもあると思います。ただ、Excelではデータ量が数百万件規模になってくるとソフトウェアの制約上、処理が行えません。 データベースに保存されている大量のデータを処理・取得する際によく用いられるのはSQLです。SQLはデータ操作のための非常によくできたインターフェースであり、かなりの数のエンジニアが利用できるのではないでしょうか。 単純なCSVファイルに対してもSQLを利用して検索が実施できれば楽だと思って探していたところ、「q」にたどり着きました。 インストール qには様々なイ
もういくつも寝ないでお正月です! Fusic Advent Calender5回目、最多出場回数を獲得することになりました安元です。 まだ確認してませんが、年末ジャンボが当たっているはずなので、 当たったあかつきには来年は車を買いたいと思います!! 基本的なIN句の利用方法 SQLでIN句を使用したことはありますか? 一致させたい条件をカンマ区切りで並べるだけで簡単便利に利用できますね。 福問い合わせを利用する場合は以下のようになります さて、このIN句で複数条件指定できたら便利だと思いませんか? 日本語で条件を表現すると基本的なINの条件は 「安元 もしくは 納富 もしくは 浜崎 もしくは 渡辺」となりますね。 複数条件が指定できるということは 「安元で男 もしくは 納富で女 もしくは 浜崎で男 もしくは 渡辺で女」 こんな条件指定ができるのです。 ではSQLを見てみましょう。 今回は副
Mencari slot gacor hari ini? Anda berada di tempat yang tepat! Dalam dunia perjudian online, istilah "gacor" sering digunakan untuk menggambarkan slot yang sedang "panas" atau memiliki peluang tinggi untuk memberikan kemenangan besar kepada pemain. Dalam artikel panjang ini, kita akan membahas segala sesuatu tentang slot gacor: cara menemukannya, strategi untuk bermain, dan tentu saja, rekomendasi
トレンド調査ラボの青木峰郎(id:mineroaoki)です。 好きなRubyのメソッドは10年前からString#slice(re, nth)ですが、 最近はRubyよりCoffeeScriptとSQLのほうが書く量が多くて悩んでいます。 今日はわたしが開発している「たべみる」の背後で働いている 巨大バッチの構成について話したいと思います。 たべみるのバッチは約3000行のSQLで構成されており、 処理時間が1日で4時間程度かかる、そこそこの規模のプログラムです。 このバッチ処理プログラムをBricolage(ブリコラージュ)というフレームワークで構造化する手法について説明します。 「たべみる」とは まず最初に、「たべみる」がどういうものなのかごく簡単にお話ししておきましょう。 「たべみる」は企業のみに提供しているB2Bの分析サービスで、 クックパッドのレシピ検索の分析をすることができま
SELECT Products, count(*) as [cnt], sum(cost) as [sum] FROM [A$] GROUP BY Products 操作は簡単、「SQL」シートのB1セルにに上記文を貼りつけして ボタンを押すだけです!! なんと、シート同士を結合することも可能なのでvlookup()を 指定せずともお手軽便利!! 他にもいろんな集計方法をサンプルで載せておきます。 /* Aシート一覧 */ select * from [A$] /* A,Bシート一覧 */ select * from [A$],[B$] where [A$].CID = [B$].CID /* バナナの販売数 */ select count(*) from [A$] where Products = 'バナナ' /* バナナの売上 */ SELECT Products, sum(cost)
Haskell Relational Record (HRR)尻叩き担当の山本です。この記事では、HRR のリリースについて説明します。 なお、これは Haskell Advent Calendar 2014 の25日目の記事です。 HRR とは何か? HRRは、日比野さんが中心となって開発が進められている関係代数ライブラリです。Haskellで式を書くと、それがSQL文に変換され、データベースに問い合わせた結果が Haskell のレコードになります。以下のような特長があります。 抽象的:高レベルな式で表現すると、SQLが生成されます。対応している SQLサーバは、DB2、ProsgreSQL、SQLite、MySQL、MicroSoft SQL Server および OracleSQL です。 型安全:HRRの式を書いたHaskellのコードがコンパイルできれば、必ず正しいSQL文が生
Haskell Advent Calendar 2013 の19日目のエントリーです。 Haskell で SQL の複雑な検索式を記述するための、Relational Record というライブラリ(以下HRR)(https://github.com/khibino/haskell-relational-record) を作ったので紹介します。このライブラリを使うことで、検索式を部品化し、単純な検索式を組合せて、より複雑な検索式を組み立てることができます。 HRR は HaskellDB (http://hackage.haskell.org/package/haskelldb) を参考にした関係代数ベースのライブラリですが、カラム名の問題、外部結合、集約操作、Placeholderの問題点を克服する形で再構成しました。以下に順番に説明していきたいと思います。 結合について SQLの結合
リレーショナルモデルを実践するには、ドメイン(≒データ型)を如何に正しく設計するかということが極めて重要になる。しかしながら、ドメインをどう設計すべきかという議論はあまりされていないように思う。その結果、ドメインについての理解はあまり進まず、データベース設計に失敗しているパターンが多いように思われる。 というわけで今日のテーマはドメインである。 集合を定義するリレーショナルモデルにおけるデータ型とは何か。リレーショナルモデルを実践するにはまずその点から理解する必要がある。 リレーショナルモデルでは、データ型はドメインと呼ばれる。ドメインとは、その属性(≒カラム)に入るべき値はどういったものかを集合として定義したものだ。言い換えると、属性値とはある集合の要素の一つであると言える。従って、ドメインを設計する際には、SQLで言うところのデータ型、つまりINTやCHARといったものだけでなく、その
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
コメントを頂いたのですが、ちょっと返し方が悪かったのか音信普通になりましたので、改めてJOINのパフォーマンスについて考察してみます。 1対n結合の場合、JOINとは正規化データから非正規化データを作り出す操作になる RDBのテーブルは、きちんと設計されていれば、正規化されています。つまりデータに重複がなく容量の面で効率的になっています。ここで正規化データとはあくまでもRDBにとって効率的というだけでそれ以上のものではありません。一方で人間が理解しやすいデータ形式は必ずしも正規化データというわけではなく、往々にして非正規化されたデータの場合があります。 JOINを行うということは正規化されたデータを非正規化データに戻す操作ということに相当します。つまり、効率のよいデータから人間にとって理解しやすいデータ形式に戻す操作になります。JOINは正規化されたデータから非正規化という効率の悪いデータ
以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ
class User < ActiveRecord::Base scope :male, ->{ where(sex: :male) } # 男性 scope :female, ->{ where(sex: :female) } # 女性 scope :adult, ->{ where(arel_table[:age].gteq 20) } # 成人 scope :minor, ->{ where(arel_table[:age].lt 20) } # 未成年 scope :men, ->{ adult.male } # 成人,男性 scope :women, ->{ adult.female } # 成人,女性 scope :boys, ->{ minor.male } # 未成年,男性 scope :girls, ->{ minor.female } # 未成年,女性 end User
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く