UNPKG

alasql

Version:

AlaSQL.js - JavaScript SQL database library for relational and graph data manipulation with support of localStorage, IndexedDB, and Excel

37 lines (30 loc) 1.22 kB
if(typeof exports === 'object') { var assert = require("assert"); var alasql = require('..'); } else { __dirname = '.'; }; //if(typeof exports != 'object') { describe('Test 193 - GROUP BY formula', function() { // console.log(alasql.parse('SELECT a FROM ? GROUP BY a % 2').toString()); it("1. GROUP BY formula, SELECT with formula", function(done) { var data = [{a:1},{a:1},{a:2},{a:3},{a:1},{a:2}]; var res = alasql('SELECT COUNT(a+1)+1 AS b FROM ? GROUP BY a%2',[data]); assert.deepEqual(res,[ { b: 5 }, { b: 3 } ]); // console.log('Result:',res); done(); }); it("2. PI calculation #1", function(done) { var res = alasql('SELECT VALUE COUNT(*)*4/$[0] FROM \ (SELECT RANDOM() AS x, RANDOM() AS y FROM RANGE(1,$[0])) WHERE x*x+y*y<1',[100000]); console.log('PI=',res); assert(3.1<res && res<3.2); done(); }); it("3. PI calculation #2", function(done) { var res = alasql('SELECT VALUE COUNT(*)*4/$[0] FROM RANGE(1,$[0]) WHERE RANDOM()^2+RANDOM()^2<1',[100000]); assert(3.1<res && res<3.2); // console.log('PI=',res); done(); }); });