UNPKG

@cloki/clickhouse-sql

Version:
46 lines (34 loc) 1.16 kB
ClickHouse SQL Dialect implementation for JS ==== [![codecov](https://codecov.io/gh/mbIkola/node-clickhouse-sql/branch/master/graph/badge.svg)](https://codecov.io/gh/mbIkola/node-clickhouse-sql) [![npm version](http://img.shields.io/npm/v/clickhouse-sql.svg?style=flat)](https://npmjs.org/package/clickhouse-sql "npmjs") ## How? ```js import Dialect from "clickhouse-sql"; const s = Dialect; let sql = new s.Select(); sql .from('solved_hashes') .select( 'presetId', [s.toStartOfMinute('ts'), 't'], s.uniq('minerId'), s.sum('cpuTime'), s.sum('hashes'), [s.divide(s.sum('hashes'), 60), 'hashrate'], s.avg('blockReward'), s.avg('avgReward'), s.max('netDiff'), s.min('netDiff'), [s.sum(s.multiply(s.multiply('hashes', s.divide('blockReward', 'netDiff')), 0.8)), 'approx reward in XMR'] ) .prewhere('ts', s.LESS, s.toStartOfMinute(s.now())) .prewhere('accountId', s.EQUALS, '5a7484afe90bab6ecc346aa4') .groupBy('presetId') .groupBy('t') .withTotals() .orderBy('t') .limit(1000) .limitBy(5, 'presetId'); console.log(sql.toString()); ```