タグ

関連タグで絞り込む (201)

タグの絞り込みを解除

sqlに関するclavierのブックマーク (305)

  • SQLにおけるエイリアスと可読性について考える

    こんにちは。そやまです。 データ分析に欠かせないスキルの1つであるSQL。 そんなSQLを書くときに、エイリアスをどう付けるかは意外と人によって流派の分かれるポイントだと思います。 このブログでは、SQLのエイリアスについて個人的見解をまとめたものをお話させていただきます。 今回は、例として以下のSQLを題材に考えていきます。 SELECT customers.customer_name, subscriptions.plan_name, SUM(payment_transactions.amount) AS total_paid_amount FROM payment_transactions INNER JOIN subscriptions USING (subscription_id) INNER JOIN customers USING (customer_id) GROUP BY

    SQLにおけるエイリアスと可読性について考える
    clavier
    clavier 2025/12/30
  • LLM-Ready なデータ基盤を高速に構築するための FlyWheel(改善サイクル) - pixiv inside

    はじめに こんにちは。ucchi- です。普段は広告のデータを整えつつ、全社横断のデータ整備も行っています。 この記事では、以下 3 つのテーマについて紹介します。 データ分析を自律的に行う「LLM Agent」 LLM Agent の能力を最大限に引き出す「LLM-Ready なデータ基盤」 LLM-Ready なデータ基盤を高速に構築するための「FlyWheel(改善サイクル)」 LLM Agent は対話を通じてデータ分析を行う まず、この記事における「LLM Agent」を定義します。これはデータ分析を自律的に行う大規模言語モデルであり、以下のように動作します。 LLM Agent に問いを投げかける LLM Agent は問いを解釈し、SQLクエリの生成、実行、結果の可視化、解釈を行う そこから自律的に分析を深掘りしたり、追加のフィードバックを求めたりする 参考)Google C

    LLM-Ready なデータ基盤を高速に構築するための FlyWheel(改善サイクル) - pixiv inside
  • 人間のためのリーダブルSQL

    読みにくいと感じた SQL の例を作るにあたり、私自身が目にしてきた SQL を例として出しますが特定の個人を非難したいものではないことを最初に書かせてください。 人類全体でより良い SQL を書いてより良いデータ活用をしていこうぜ!と言う趣旨の記事になります。 CHANGE LOG (2025/03/07) total_amount というカラム名が途中から突然 order_total_amount になっていた部分を修正しました (thanks to shirow ozawa) これは何? 私 tenajima が分析用の SQL を書くときに意識していることになります 以前書いた「データ基盤のためのリーダブル SQL」はデータ基盤開発者向けに書きましたが、今回はデータ基盤や dbt のコードではなく一般的な SQL を書く人向けのリーダブル SQL という立ち位置で書きたいと思います

    人間のためのリーダブルSQL
  • SQLFluffを完全に理解する | DevelopersIO

    Google Cloudのデータエンジニアをしています、はんざわです。 今回はSQLのリンターであるSQLFluffを触りながら理解を深めたいと思います。 検証環境 macOS: 13.3.1 Python: 3.9.5 SQLFluffとは SQLFluffとは、SQLのフォーマットを自動で問題点の指摘や修正をしてくれるオープンソースサービスです。 さっそくインストールして使ってみたいと思います。 インストール SQLFluffをインストールするにはPython3が必要です。 $ pip3 install sqlfluff 正常にインストールできているか確認します。 $ sqlfluff version 2.0.7 インストールが完了しました。実際にクエリを用意し、使ってみたいと思います。 さっそく使ってみる sqlfluffには大きくlintとfixの2つの機能があります。 まずはli

    SQLFluffを完全に理解する | DevelopersIO
  • dbtプロジェクトにSQLFluffを導入する - Kurashiru Tech Blog

    はじめに SQLFluffとは? 導入の背景 SQLFluffの導入 SQLFluffをインストールする SQLFluffを試してみる .sqlfluffを作成する dbt templaterをインストールする SQLFluffの使用 CLIでの使用 dbt Cloud IDEでの使用 さいごに はじめに こんにちは、データエンジニアの加藤です。 クラシルのデータ基盤ではdbt(data build tool)を使ってデータを変換しデータウエアハウス・データマートを構築しています。 今回はdbtプロジェクトSQLFuffを導入したので紹介します。 SQLFluffとは? 様々な種類のSQLに対応するリンターです。 Jinjaやdbtにも対応しておりコーディング規約に違反した記述を自動で修正してくれます。 SQLFluff is a dialect-flexible and configu

    dbtプロジェクトにSQLFluffを導入する - Kurashiru Tech Blog
  • SQLFluffを試す(BigQuery+VSCode)

    やりたいこと 前カンマ 予約後やNULLなどを大文字、、、 .sqlfluffファイルを配置 .sqlファイルと同じフォルダに配置 .sqlfluffファイルの設定 [sqlfluff] dialect = bigquery max_line_length = 200 output_line_length = 200 sql_file_exts = .sql,.bqsql # バイト制限解除 large_file_skip_byte_limit = 0 # ルールの中から取り除くものを選ぶ exclude_rules = # sqlfluff fixでカラムの順序を変えないようにするための設定 structure.column_order ,ambiguous.column_count ,structure.using # Salesforceはキャメルケースでlowerにすると読みにくく

    SQLFluffを試す(BigQuery+VSCode)
    clavier
    clavier 2025/08/11
  • SQLFluffを使ってみた。 - シナプス技術者ブログ

    シナプスの技術部システム開発課の小園です。 SQLFluffを使ってみました。 SQLFluff とは? 関連サイト サポートするSQL ルール 設定 CLI(コマンドラインインタフェース)から使う 環境 インストール ディレクトリ、ファイル構成 操作 VSCodeから使う 環境 インストール ディレクトリ、ファイル構成 操作 所感 SQLFluff とは? SQLFluff はPython3以降で動く、SQL構文のLinter(静的解析ツール)です。 SQL構文に対して lint(静的解析)や fix(静的解析内容に基づく修正)ができます。 関連サイト 公式サイト sqlfluff.com ドキュメント docs.sqlfluff.com GitHub github.com pypi pypi.org Visual Studio Code の拡張機能 sqlfluff marketpla

    SQLFluffを使ってみた。 - シナプス技術者ブログ
    clavier
    clavier 2025/08/11
  • SQLFluffを導入しました - Qiita

    この記事はスタンバイ Advent Calendar 2023の16日目の記事です。 今回は、SQL LinterであるSQLFLuffについて紹介したいと思います。 SQL Linter導入の背景 筆者は職場ではデータエンジニアを担当しており、Pythonコードを書くことが多いです。Pythonプロジェクトについてはflake8やblackといったlinterformatterを導入しています。 しかし、SQLファイルについては導入できておらず、当初はSQLを書くメンバーが限られていたためさほど問題になりませんでしたが、規模が大きくなるに連れてだんだん保守性が下がっていきました。 アナリストの方々が書いたSQLがそのままレビューに落ちてくることもあるのですが、書き方が全く違うためレビューアの立場からすると違和感を覚えるシーンもありました。 PEP8のようなコーディング規約も無いため「こ

  • BigQueryのアンチパターン認識ツールで独自のSQLリンターを開発しました - ZOZO TECH BLOG

    こんにちは、株式会社ZOZOで25卒の内定者アルバイトをしている村井です。この記事では業務で取り組んでいる、BigQueryで使うSQLのリンターの作成方法について紹介します。 目次 目次 課題と解決策 課題 解決策 BigQueryのアンチパターン認識ツール ミニマムな使い方 日語がSQL内に含まれている際の問題 アンチパターンを定義する リンターとしてBigQueryのアンチパターン認識ツールを使用する際に生じる課題と解決策 構成 APIサーバ化 Chrome拡張 動作例 まとめ 課題と解決策 課題 社内では様々なチームがSQLを書いており、動作はするものの良くない書き方をしている場合があります。そういった構文を検知して、前もって修正する必要があります。 解決策 BigQueryのコンソールで入力されたSQLの不正構文を検知、修正案を提示できるようにしました。 BigQueryのアン

    BigQueryのアンチパターン認識ツールで独自のSQLリンターを開発しました - ZOZO TECH BLOG
  • MySQL8.0のWindow関数を分かりやすく紹介する(5.謎多きフレーム句を使うと良いことはあるのか?) | スマートスタイル TECH BLOG

    はじめに MySQL8.0がリリースされたことにより、Window関数の利用が可能になりました。 Oracle、PostgreSQLSQL Server等でも利用できる関数ですが、「難しそう」、「どういう場合に使えば良いか分からない」というイメージを持たれている方もいると思いますので、この記事ではシンプルにどのようなことができるのかを紹介していきます。 過去の記事でもWindow関数について分かりやすく記載しておりますので、確認されていない方は是非こちらの記事もご参照ください。 ・MySQL8.0のWindow関数を分かりやすく紹介する(1.「集計関数×Window関数」のコラボ) ・MySQL8.0のWindow関数を分かりやすく紹介する(2.順位・連番の付け方(基編)) ・MySQL8.0のWindow関数を分かりやすく紹介する(3.順位・連番の付け方(発展編)) ・MySQL8.

    MySQL8.0のWindow関数を分かりやすく紹介する(5.謎多きフレーム句を使うと良いことはあるのか?) | スマートスタイル TECH BLOG
  • BigQueryでJSON文字列を攻略する関数たち - ドワンゴ教育サービス開発者ブログ

    はじめに ドワンゴ教育事業でデータアナリストとして働いている小林です。 ドワンゴ教育事業におけるデータアナリストは企画開発組織の一員としてKPI可視化やレポーティングなどをメイン業務としています。個人的には新たなサービスが生まれる瞬間のお仕事が一番好きで、「何の指標をみていくのか」「どんなデータが流れてくるのか」など少し上流の工程からデータの取り扱いを検討するとともに、既存のダッシュボードをバージョンアップする良い機会にしたり、新たなステークホルダーに対して良いデータ分析の提供を考えたりと、楽しい日々が続きます。 私たちドワンゴ教育事業では大学開学やR高の開校など大きなサービスリリースが予定されていますので、サービス環境の変化を楽しみながらやりがいをポジティブなパワーに変えていきたいと思っています! 課題について(導入に代えて) 昨今、分析対象としてJSON文字列を取り扱うことが増えてきま

    BigQueryでJSON文字列を攻略する関数たち - ドワンゴ教育サービス開発者ブログ
  • データ分析で用いるSQLクエリの設計方法

    STEP2. アウトプットを実現するために必要なデータソースを書き出す アウトプットの整理ができたら、今度はインプットとなるデータソースの整理を行いましょう。 必要なデータソースは要件から読み解くことができます。 今回は「10代のユーザーの月間視聴数(性別 / 動画カテゴリごと)の推移をグラフで見たい」という要件です。 ここから、この分析に必要なエンティティ(実体)とその属性、集計値を抽出しましょう。 エンティティと属性 ユーザー 性別 年代 動画 カテゴリ 集計値 視聴数 これらのデータを管理するテーブルを、調査やヒアリングを実施して探します。 今回は以下のテーブルを使用することとします。 user:ユーザー登録に必須な入力項目を管理するテーブル user_profile:ユーザーが登録後に設定できる任意の入力項目を管理するテーブル video:ユーザーが投稿した動画を管理するテーブル

    データ分析で用いるSQLクエリの設計方法
  • DuckDB+Evidenceを駆使してISUCON14で21位になった話 - Gマイナー志向

    2024年12月8日に開催されたISUCON14に「ウー馬場ーイーツ・ザ・ファイナル」として参加しました。最終スコアは29,386でした。実装言語はGoです。 こんなPostをしてましたがRustは採用しませんでした(今回は余裕がなかった)。 講談社サイエンティフィク様からのご厚意で書籍「RustによるWebアプリケーション開発」をご恵贈いただきました。早速読み進めてます。今年のISUCONはRustで決まりかー!? #PR https://t.co/sOAcWEqE8P pic.twitter.com/cK7V6lPMQk— matsuu (@matsuu) 2024年10月8日 今年のチャレンジについて 我らがチームはISUCON開催のたびに新たなチャレンジ*1をしてるのですが、今回は以下の4つにチャレンジしました。 ログ解析の見直し 生成AIの導入 rustlsの導入 bpftune

    DuckDB+Evidenceを駆使してISUCON14で21位になった話 - Gマイナー志向
  • センスの良いSQLを書く技術 達人エンジニアが実践している35の原則

    【どうすれば達人のようなコードが書けるのか?】 著書累計20万部超、データベース界の達人・ミック氏が、 「センスの良いSQLを書く技術」を身につけるための思考法や勉強法を大公開! コーディングや設計を行う上で知っていると一生役に立つ、 SQLRDBの理論や哲学をわかりやすく解説しています。 【達人が考えるセンスの良いSQLとは?】 目指すのは、無駄がなく、可読性が高いエレガントなSQLです。 メンテのしやすさ、パフォーマンスの良さにつながるからです。 書では、エレガントでかつハイパフォーマンスなSQLを実現する技術として、 ・SQLの書きやすい順序 ・効率的なクエリの書き方 ・保守しやすいコード ・適切なインデックス戦略 ・実行計画の重要性 ・無限のスケーラビリティ 等を解説しています。 【書の特徴】 1テーマごとに、まずサマリー+イメージイラストで おおまかな内容を直感的につかめる

    センスの良いSQLを書く技術 達人エンジニアが実践している35の原則
  • SQL+Markdownだけでデータ可視化できるOSS Evidenceを使ってPerfumeの楽曲分析をしてみる - Qiita

    BIをコード管理したくないですか?私はしたいです。 BI as Codeを謳うOSSがあるようなので、Get Startedしてみます。 環境構築 公式ドキュメントを見ると、VSCodeのExtensionを入れて開発することを推奨しているようです。 2.Open the Command Palette (Ctrl/Cmd + Shift + P) and enter Evidence: New Evidence Project 3.Click Start Evidence in the bottom status bar 拡張機能のインストール後、2クリックでローカルサーバーが起動しサンプルページが立ち上がりました。 外部データを投入する せっかくなのでサンプルデータ以外のデータを投入してみます。 初期のサンプルデータは、DuckDBのテーブルとして配布されているようです。 ローカル環境

    SQL+Markdownだけでデータ可視化できるOSS Evidenceを使ってPerfumeの楽曲分析をしてみる - Qiita
  • DatabricksSQL パフォーマンス・チューニング Tips - Qiita

    はじめに この記事はこれまで実案件において実施したDatabricksSQLパフォーマンスチューニングの作業内容をベースに、実行クエリのボトルネック特定からパフォーマンス改善の手法について共通すると思われるTipsをベストプラクティスとしてまとめたものです。 DatabricksSQLの操作経験がある方を対象に記載しておりますため、DatabrickSQLの機能説明や用語解説及び設定コマンドの詳細等は割愛しておりますが、今回初めてDatabricksSQLをご検討される方でも理解いただけるよう、該当するDatabricksドキュメントリンクも併せて記載しておりますので適宜ご参照ください。 ※ドキュメントへのリンクはAzure Databricksのリンクを使用していますがAWS/CGP上のDatabricksでも同様の機能を提供しています。 DatabricksSQLとは Databric

    DatabricksSQL パフォーマンス・チューニング Tips - Qiita
  • 生SQLに型を手書きする時代は終わり?Prismaの新機能「TypedSQL」

    SQLを扱う $queryRaw TypeScript向けのORMライブラリとしてPrismaがあります。Prismaは直感的で型安全なAPIを提供し、TypeScript向けのORMとしては第一に名前が上がることが多いライブラリです。 しかしそんな人気なPrismaでも、裏側では少しクセのあるSQLが発行されていたり、欲しいSQLがPrismaのAPIでは実現できない場合があります。 そういった場合のために $queryRaw というメソッドが用意されており、これを使うことで生SQLを書いてその結果を受け取ることができました。他のORMにもよくある機能です。 例えば以下のように実装することができます。 const users = await prisma.$queryRaw` SELECT id, name FROM "Users" WHERE id = ${userID} `; co

    生SQLに型を手書きする時代は終わり?Prismaの新機能「TypedSQL」
  • セマンティックレイヤー / Headless BIとは

    この記事は何 2023年、世間はLLMで大騒ぎですが、データの業界ではセマンティックレイヤー・Headless BIへの注目も高まっています。 これは、まだ国内では黎明期ともいえるそんな技術が、今後どんな存在となりうるのかを、筆者の個人的な解釈と妄想をもとに述べる長文ポエムです。 セマンティックレイヤーとは まず最初にセマンティックレイヤーについて解説します。 セマンティックレイヤーとは セマンティックレイヤーとは、データベースとデータ利用者の間に入り、両者間のやりとりを円滑にする存在です。 データ統合プラットフォームを提供するAirbyte社は、セマンティックレイヤーをデータとビジネスユーザーの中間に位置する、複雑なデータを理解可能なビジネスの概念に変換・翻訳するレイヤーと説明しています。 A semantic layer is a translation layer that sits

    セマンティックレイヤー / Headless BIとは
  • サブクエリの書き方を2万文字弱かけてすべて解説する

    これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを割かれており、意外と奥深いのがサブクエリです。使いこなせると便利ですし、何よりちょっとSQLのコツみたいなのがわかって面白いよ、ということで記事にしてみました。 前提 この記事は以下の前提を含んでいます。 環境 MySQL8.0系 読者の知識 なんとなくサブクエリが書ける けど相関サブクエリとかになると「あーっ」つってGoogle meetを閉じてしまうくらいのレベル感 記事のボリューム 18,000文字 おれの卒論が20,000文字だった マサカリ 間違ってたら投げてくれ〜〜 それ

    サブクエリの書き方を2万文字弱かけてすべて解説する
  • Pinterest社で運用されているText-to-SQLを理解する

    導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、LLMを使用したチャットのサービスを提供しており、とりわけRAGシステムの改善は日々の課題になっています。 記事では、Pinterest社のエンジニアチームが紹介していた、実運用環境におけるText-to-SQLの構築方法に関する記事の紹介をします。 Text-to-SQLを実際の運用レベルで実現するための手法が解説されているので、その内容を解説、そして考察していきたいと思います。 なおこの手法には特に名前などは設定されていなかったので、以降Pinterest社の提案するText-to-SQLPinterest Text-to-SQLと呼称します。 サマリー Pinterest Text-to-SQLは、RAGのシステムを最適化することで 検索に必要なTableのより正確な抽出 実際に使用されている値に準拠

    Pinterest社で運用されているText-to-SQLを理解する