タグ

sqlに関するR2Mのブックマーク (41)

  • SQL で区間同士の重なり(interval overlap)を一発で判定する方法

    こんにちは!株式会社 MeDiCU で学生インターンをしている村山です。普段は、MeDiCU の管理するデータベース OneICU を使った臨床疫学研究や医療 AI 研究に関わっています。 はじめに SQL で時系列データを扱っていると、「2つの区間が重なっているか」を判定したい場面が頻繁に出てきます。 あるイベントが発生していた時間帯と 別のイベントが発生していた時間帯 が重なっているかどうかを調べたい、といったケースです。一見すると単純な問題ですが、実際に SQL で書こうとすると、案外直感的には書きにくいのではないでしょうか。 我々がやっているような ICU の時系列データを扱う研究でも、この「区間の重なり判定」は非常に重要になります。 例) この 1時間のあいだ、人工呼吸器はついていたか この 1時間のあいだ、noradrenaline はどれくらい投与されたか ICU のデータに

    SQL で区間同士の重なり(interval overlap)を一発で判定する方法
    R2M
    R2M 2026/03/11
  • pg_query_goではじめるSQL解析 - RAKUS Developers Blog | ラクス エンジニアブログ

    はじめに こんにちは、エンジニア3年目のTKDSです! 今回はpg_query_goについて調べてみました。 業務で使用したこともあるのですが、改めて個人的に使ってみたいと思い、使い方をさくっと調べて試しました。 はじめに pg_query_goとは 簡単なサンプル 事前準備 中身をチラ見 実用例:SQLの操作を抽出 実用例:SQL実行種別のガードレール まとめ pg_query_goとは 実際のPostgreSQLSQLパーサーを使ってSQLクエリをパースして返してくれるライブラリです。 Goでも簡単にSQLの操作の取得などができてとても便利です。 github.com 簡単なサンプル 簡単なサンプルを使って、pg_query_goについて紹介します。 事前準備 事前準備をしておきます。 go mod init <プロジェクト名> 下記のサンプルコードをmain.goに保存します。 p

    pg_query_goではじめるSQL解析 - RAKUS Developers Blog | ラクス エンジニアブログ
  • 勢いでつくったSQLツールと歩んだ28年。フリーソフト「A5:SQL Mk-2」開発秘話【フォーカス】 レバテックラボ(レバテックLAB)

    TOPフォーカス勢いでつくったSQLツールと歩んだ28年。フリーソフト「A5:SQL Mk-2」開発秘話【フォーカス】 フリーソフト「A5:SQL Mk-2」 開発者 松原 正和 1974年富山県生まれ。工場向けシステム開発やSESを経て、2020年より位置情報システム会社に参画。個人としては、1997年にSQLクライアント「A5:SQL Mk-2」の開発を開始。以来、約28年間にわたり改良と保守を続ける。ソフトの初期名は「あまのいわと5 IMPERIAL GODDESS II」。SF漫画『ファイブスター物語』の主人公名が由来。その後「あまのいわと5」を省略したA5に、旧日軍の九六式艦上戦闘機の別名「A5M」とアニメ『重戦機エルガイム』の登場メカ「エルガイムMk-II」を組み合わせ、現名称に。 「A5:SQL Mk-2」公式サイト X 「A5:SQL Mk-2」というSQLクライアントが

    勢いでつくったSQLツールと歩んだ28年。フリーソフト「A5:SQL Mk-2」開発秘話【フォーカス】 レバテックラボ(レバテックLAB)
    R2M
    R2M 2025/03/13
  • SQL道場 - SQLの実践的な学習サイト

    SQL道場は、実践的なSQLの問題を解きながら学べるオンライン学習プラットフォームです。

    R2M
    R2M 2025/02/17
  • GitHub - sqlpage/SQLPage: Fast SQL-only data application builder. Automatically build a UI on top of SQL queries.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sqlpage/SQLPage: Fast SQL-only data application builder. Automatically build a UI on top of SQL queries.
    R2M
    R2M 2024/09/01
  • CEL  |  Common Expression Language

    // Simple predicates 'tacocat'.startsWith('taco') // Parameterized predicates over structured data account.balance >= transaction.withdrawal // JSON objects {'sub': '12345678', 'aud': 'example2.cel.dev', 'iss': 'https://example1.cel.dev/jwt-issuer'} // Strongly typed objects common.GeoPoint{ latitude: 10.0, longitude: -5.5 } Common Expression Language(CEL)は、パフォーマンスが重視されるアプリケーションで高速かつポータブルで、安全に実行でき

    R2M
    R2M 2024/06/21
  • Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表

    Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表 式言語とは一般に、プログラミング言語の一部やネットワークなどの構成ファイル、テンプレートファイルなどの中で、簡易な式やロジック、ポリシーなどを記述する際に使われる言語のことです。 こうした用途では、さまざまなプラットフォームに対応する移植性、起動時やプログラムの実行中に評価されることがあることから高速に評価が完了すること、安全に評価が実行できること、用途に応じて拡張しやすいこと、などが求められます。 CELは超高速に評価、ポータブル、サブセットサポート CELは正にこうした要件に対応した式言語となっており、Googleは次のような特徴があるとしています。 ナノ秒からマイクロ秒程度の高速な評価に最適化されている C++JavaGoでサポートされるスタックによるポータブ

    Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表
    R2M
    R2M 2024/06/21
    「SQLにシームレスに変換」
  • sqlc を TypeScript で利用する

    2024 年 12 月 25 日追記 sqlc と sqlc-gen-typescript は積極的なメンテナンスがされていないため、採用するときは注意してください。 まとめ sqlc-gen-typescript かなり良い 自分が TypeScript でウェブアプリを利用するなら間違いなく sqlc を選択する SQL は共通言語という点で当に偉大 sqlc とは sqlc とは Go で書かれた SQL を元にコードを生成するツール。 なぜ sqlc ? 結局、それぞれの ORM 固有の技術を覚えるくらいなら SQL を覚えた方が早い 拡張に ORM が対応していようがいまいが関係ない SQL パーサーが libpg_query という実際の PostgreSQL サーバーソースを使用している wasilibs/go-pgquery を利用しているので信頼できる Wasm 化され

    sqlc を TypeScript で利用する
  • リーダブルSQL[より良いSQLを書くためのシンプルで実践的なテクニック] - Qiita

    はじめに 最近エンジニア界隈では「リーダブルコード」が話題なっていますね。 リーダブルコードでは、このような定理が紹介されています。 「コードは他の人が最短時間で理解できるように書かなければいけない。」 Dustin Boswell リーダブルコード P.3 より引用 皆さん、クソSQL1を読んだことがありますね? クソSQLを書いたことがありますね? 僕は、あります。 そこで、記事ではどうしたらリーダブルなSQLが書けるかというアイデアを紹介します。 処理の流れの順に上から読めるようにする サブクエリを多用したSQLは複雑に絡み合った大きな複雑な塊になってしまいます。サブクエリを使ったSQLでは、処理の流れは上から下ではなく、ネストされた内側から始まります。しかも、必ず内側から読んでいけば理解できるかというとそうでもなくて、内側のクエリが外側のクエリの影響を受けていて、内側のクエリだけ

    リーダブルSQL[より良いSQLを書くためのシンプルで実践的なテクニック] - Qiita
    R2M
    R2M 2023/09/16
    CTEは制約が厳しすぎて使いづらい…
  • あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog

    あけましておめでとうございます! 今年は異世界放浪メシのアニメが放送されるらしいので楽しみなバックエンドの原田 (tomtwinkle)です。 内部で運用しているSQLレビューチェックリストの一部を抽出し思いつきで追記して行った結果、結構な分量になってしまいました。 暇な時でも流し読みして頂けるとありがたいです。 Motivation SQLレビュー観点 大きくSQLが変更される修正の際にはEXPLAINをレビュー内容に加える 検索のキーにINDEXを使用しているか SQL発行回数がN+1(1+N)の構造になっていないか サブクエリを利用したSQLはパフォーマンス要チェック Viewの利用は基的に禁止 CROSS JOINは禁止 WHERE句で十分に絞った検索をしているか 必要なcolumnだけSELECTしているか レコード数だけ必要な場合にCOUNT用のSQLを発行しているか 集計関

    あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog
    R2M
    R2M 2023/01/13
  • ドメインロジックとSQL - Martin Fowler's Bliki (ja)

    以下の文章は、Martin Fowler による Domain Logic and SQLの日語訳である。 データベース指向ソフトウェア開発者とメモリ上(in-memory)アプリケーションソフトウェア開発者との間のギャップは、ここ数十年、徐々に広がってきている。このギャップが原因で、データベースの機能(SQLやストアドプロシージャ)をどのように扱えばよいのかという議論が数多く巻き起こっている。ここでは、ビジネスロジックを SQL に置くべきか、それともメモリ上のコードに置くべきかといった問題について、主にパフォーマンスと更新性の観点から考察を行う。考察には簡単な例を使うが、SQL クエリはしっかりとしたもの(rich SQL queries)を用いるので悪しからず。 エンタープライズアプリケーション(訳注:以下、EA)構築に関する(私の近著『P of EAA』など)を読むと、ロジック

    R2M
    R2M 2022/06/06
  • BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0

    この記事の概要 SaaSのデータをBigQueryに統合することで業務改善を促進できる。 しかし、SaaSのデータの中身を見ると、BigQueryの関数では対応しにくい形式になっていることがある。 そこで、稿では「こういうデータ形式だったらこういうSQLを書く」というサンプル集を掲載する。 目次 この記事の概要 目次 宣伝 実現したいこと SaaSデータの処理方法 SQLサンプル1: 純粋な配列だけのケース SQLサンプル2: 配列内にハッシュマップがあるケース SQLサンプル3: 配列宣言ナシでカンマ区切りのハッシュマップが突如始まるケース SQLサンプル4: 配列とハッシュが入り乱れるケース SQLサンプル5: JSONの中に親子構造があるケース SQLサンプル6: Objectを定義したくなるケース 最強のJSONパースの関数は作れるか jsonデータの処理をどこで行うか 最後に

    BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0
  • 高性能分散SQLエンジン「Trino」最速ガイド - NTT docomo Business Engineers' Blog

    こんにちは。なんの因果かNTTコミュニケーションズのエバンジェリストをやっている西塚です。 この記事は、NTT Communications Advent Calendar 2021 22日目の記事です。 5分でわかる「Trino」 「Trino」は、異なるデータソースに対しても高速でインタラクティブに分析ができる高性能分散SQLエンジンです。 以下の特徴を持っており、ビッグデータ分析を支える重要なOSS(オープンソースソフトウェア)の1つです。 SQL-on-Anything: Hadoopだけでなく従来のRDBMS(リレーショナルデータベース)やNoSQLまで、標準SQL(ANSI SQL)に準拠したアクセスをワンストップに提供 並列処理でビッグデータに対して容易にスケールアップ しかも高速(hiveの数十倍) Netflix, LinkedIn, Salesforce, Shopif

    高性能分散SQLエンジン「Trino」最速ガイド - NTT docomo Business Engineers' Blog
    R2M
    R2M 2021/12/23
  • GPUDirect SQL on NFS-over-RDMAを試す - KaiGaiの俺メモ

    タイトルでほぼほぼ出オチですが、先日、NVIDIAからCUDA Toolkit 11.4と共にリリースされた新機能GPUDirect Storage 1.0のドキュメントを読んでいると、面白い記述を見つけた。 曰く、MOFEDドライバ5.3以降と、Mellanox Connect-X4/5の組み合わせで、NFS-over-RDMAとGPUDirect Storageを組み合わせ、リモートのNFS区画からローカルのGPUへと直接のデータ転送を行う事ができるようになる、と。 14.10. NFS Support with GPUDirect Storage This section provides information about NFS support with GDS. 14.10.2. Install GPUDirect Storage Support for the NFS Cli

    GPUDirect SQL on NFS-over-RDMAを試す - KaiGaiの俺メモ
  • 論理プログラミング言語Logicaでデータサイエンス100本ノック

    Googleが発表したOSSプロジェクトである論理プログラミング言語Logicaを使って、データサイエンス100ノック(構造化データ加工編)の設問を解きながらどのような言語かを確認していく。 (BigQueryのクエリとして実行していく) 最初に、プログラミング言語Logicaの特徴を纏めておく。 論理型プログラミング言語: このカテゴリではPrologが有名 SQLにコンパイルされる: 現状BigQueryとPostgreSQLに対応 モジュール機構がある: SQLと比較した強み コンパイラはPythonで書かれている: Jupyter NotebookやGoogle Colabですぐ始められる Colabでチュートリアルが用意されているので、まずこちらからやると良いと思う。 コードの見た目は関係論理の記述に似ている。 事前に、データサイエンス100ノックのテーブルデータをBigQu

  • 業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 後編

    はじめにこんにちは。GMOアドマーケティングのKONCEです。新卒で入社し、数年経ちました。日々の業務で学ぶことは多いですが、今年度は技術の深堀りをテーマにやっていきたいと思っています。今回は入社してDBSQLに関しては業務内で学ぶことが多く、特別訓練をしていたわけではなかったのですが、「SQLアンチパターン」を用いて学びながら、改めて自分の現状を見つめ直していけたらと思います。今回は学習を行う側面と自分自身のレベルについて見直していきたいので 知っていた → ○ 部分的に知っていた → △ 知らなかった → ... 今回は後編です。 今回も 知っていた → ○ 部分的に知っていた → △ 知らなかった → × を付けてみようと思います。 目次 SQLアンチパターンについて Ⅲ部 クエリのアンチパターン 2-1. [△]13章 フェア・オブ・ジ・アンノウン(恐怖のunknown) 2-2

    業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 後編
  • Best practices for writing SQL queries | Metabase Learn

    Embedded Analytics Fast, flexible customer-facing analytics

    Best practices for writing SQL queries | Metabase Learn
    R2M
    R2M 2021/04/13
    何かと思えばメタベースの奴か
  • SQL パイプライン開発に便利な Dataform 7つのお気に入りポイント - FLINTERS Engineer's Blog

    こんにちは。河内です。 最近はデータ基盤の構築も取り組んでいたりします。 社内では他の DWH が使われている事例がありますが、今回の基盤ではデータソースとの親和性や価格面などを考慮し BigQuery で行くことにしました。 BigQuery 上で多くのデータを順次変換してデータを生成するために何らかのワークフローエンジンが必要でした。 社内の他のシステムではワークフローエンジンとして Digdag を採用している例が多いですが、このシステムでは Kubernetes 上でサービスを運用しているため、当初(2020年12月)は Argo Workflow 上でクエリを順次実行することを構想していました。構想中に DataformGoogle に買収され、無料で使えるようになったというニュースが飛び込んできたため、触って感触が良いことを確かめた後、Dataform を使っていくことに

    SQL パイプライン開発に便利な Dataform 7つのお気に入りポイント - FLINTERS Engineer's Blog
  • SQL勉強会を通して痛感したデータ民主化への長い道のり - Classi開発者ブログ

    こんにちは、ClassiデータAI部の石井です。 私は2019年4月にソフトバンクからClassiに出向し、マーケティング部を経て、現在データAI部でデータエンジニアとして分析基盤の構築を担当しています。今回は私が現部署で最初に担当したSQL勉強会についてご紹介します。 背景 2020年春頃から、新型コロナウイルスの影響による休校や教育現場の急激な状況変化に対応するため、Classiサービスの詳細な利用状況把握の必要性が高まっています。 Classiは弊社の強みともいえる膨大な教育データを蓄積していますが、残念なことに全社的には貴重な教育データを活用しきれていないことが課題でした。 2020年夏に全社で行った「データAI部に期待すること」に関するアンケートでも、「基礎的なデータ活用方法を教えてほしい」という回答が多く寄せられました。 この状況をふまえ、データ活用のための知識の底上げを行い、

    SQL勉強会を通して痛感したデータ民主化への長い道のり - Classi開発者ブログ
  • SQL学習モチベを爆上げする「SQLテスト制度」を導入している話 - AppBrew Tech Blog

    こんにちは、最近はアプリグロースを担当しているabeshi(@abeshi_official)です。 美容のプラットフォーム「LIPS」を運営するAppBrewでは非開発職のSQL習得に力を入れています。誰でもRe:dashやログを触れる状態になっているし、それぞれのDBに何がどう入っているかを共有するためのドキュメントも存在しています。 「非開発職もSQL書けるように頑張ろう!」と掲げたところで、当の人たちは毎日仕事が忙しくなかなか時間も取れない上に明確な目標がないといまいち学習モチベーションを保つことができません。そこで弊社が導入したのが「SQLテスト制度」です。 ✍️SQLテスト制度とは SQLの学習到達度によってレベルごとに分けたテストで、合格すると給与が上がります。 *1現在は二つレベルが存在していて、 【レベル2】... 初学者向けでwhere・joinなど基的な文法が使え

    SQL学習モチベを爆上げする「SQLテスト制度」を導入している話 - AppBrew Tech Blog
    R2M
    R2M 2020/11/11