ClickHouseで利用可能なデータ型の確認方法と主要な型の解説

ClickHouseでサポートされるデータ型を調べるには、公式ドキュメントまたはシステムテーブルを参照するのが効率的です。 データ型の一覧取得方法 以下のクエリで、現在のインスタンスが認識するすべてのデータ型ファミリーを取得できます: SELECT name, alias_to FROM system.data_type_families WHERE case_insensitive = 1 ORDER BY name; この結果には、INET4 → IPv4 ...

6月6日 22:47 投稿

MyBatisの自己結合による多対一クエリ方法

現在、データベースのクエリ要件として、特定のニュースカテゴリのIDを与え、その親カテゴリ、親の親カテゴリといった情報を再帰的に取得する必要があります。 データベースのテーブル設計は以下の通りです。 エンティティクラスの設計: package model; public class Category { private Integer id; private String name; private Category parent; public Inte ...

6月5日 23:48 投稿

パーティションテーブル作成の実装について

SQL CREATE TABLE measurement ( city_id int not null, logdate date not null, data text ) PARTITION BY RANGE (logdate); CREATE TABLE p1 PARTITION OF measurement FOR VALUES FROM ('2020-01-01') TO ('2020-02-01'); 構文解析構造 CreateStmt *node = makeNode(CreateStmt); node->relation = $4; /* ここでは `p1` */ node-& ...

6月4日 22:14 投稿

SQL実践:動画カテゴリ別の平均再生進捗率を算出する方法

SQL実践:動画カテゴリ別の平均再生進捗率を算出する方法 動画プラットフォームのデータ分析において、ユーザーのエンゲージメントを測る重要な指標の一つに「再生進捗率」があります。本記事では、カテゴリ別の平均再生進捗率を算出し、特定の閾値を超えるカテゴリを抽出するSQLクエリの構築方法を解説します。 データ構造の理解 分析対象となるテーブルは以下の2つです。 ...

6月3日 17:32 投稿

ClickHouseの基本構文と操作ガイド

環境概要 三台のCentOS7サーバーにClickHouseがインストールされています。 ホスト名IPアドレスインストール済みソフトウェアポート番号centf8118.sharding1.db192.168.81.18clickhouse-server, clickhouse-client9000centf8119.sharding2.db192.168.81.19clickhouse-server, clickhouse-client9000centf8120.sharding3.db192.168.81.20clickhouse-server, clickhouse-cli ...

6月1日 18:59 投稿

VXシステムにおける材料データ不備の解決方法

1. ワークオーダー番号に基づく関連レコードの照会 SELECT A.WO, A.DEVICE, B.* FROM MES_WPC_WO A LEFT JOIN AOI_WO_BOM B ON A.WPC_WO_SID = B.WPC_WO_SID WHERE wo = '420000281' -- WHERE device = '341701000747' -- デバイス番号で検索する場合 2. VXグループで提供されたWOと材料IDに基づくデータ追加(データベース: 133) INSERT INTO AOI_WO_BOM (WO_BOM_S ...

6月1日 11:28 投稿

MySQLにおけるウィンドウ関数の活用方法

ウィンドウ関数の基本 ウィンドウ関数とは ウィンドウ関数(OLAP関数とも呼ばれる)はデータ分析処理を行うための機能で、以下の基本構文を持ちます: <ウィンドウ関数> OVER (PARTITION BY <グループ化列> ORDER BY <ソート列>) ウィンドウ関数として使用できるのは: 専用ウィンドウ関数(RANK, DENSE_RANK, ROW_NUMBERなど) 集計関数(SUM ...

5月31日 06:39 投稿

MySQL 多表結合クエリの基本

MySQL 多表結合クエリの基本 データ準備 #テーブル作成 CREATE TABLE division( id INT, name VARCHAR(20) ); CREATE TABLE employee( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), gender ENUM('male','female') NOT NULL DEFAULT 'male', age INT, div_id INT ); #データ挿入 INSERT INTO division VALUES (100,'開発部'), (101,'マーケティ ...

5月30日 16:54 投稿

JDBCの基礎知識

JDBCの概要 JDBC(Java Database Connectivity)は、Javaアプリケーションが様々なデータベースと統一的な方法で通信するためのAPI(アプリケーション・プログラミング・インターフェース)です。JDBCを利用することで、データベースの種類に依存せず、標準的なインターフェースでデータの検索、挿入、更新、削除といった操作を実行できます。 JDBCの主なコンポーネント J ...

5月30日 01:43 投稿

MyBatisにおけるページング処理の実装方法

大量データを検索する際には、データベースへの負荷を制御するためにページング機能を使用します。MyBatisでページングを実現する主な方法には、Limitによるページング、RowBoundsによるページング、およびPageHelperによるページングがあります。 1. Limitによるページング(SQLレベルでの実装) MySQLのLIMIT句を使用したページング構文: // LIMITページング構文 SEL ...

5月29日 16:02 投稿