JSFiddle - React, Tailwind, and code Playground
by Andrey Gershun
HTML
<script src="http://alasql.org/console/alasql.min.js"></script>
<p>Result()</p><div id="res"></div>
CSS
table {border:1px solid black}
JavaScript
var data = [
{ Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Val: 5 },
{ Phase: "Phase 2", Step: "Step 1", Task: "Task 1", Val: 25 },
{ Phase: "Phase 2", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
];
alasql('CREATE TABLE phases (Phase string, Step string, Task string, Val int)');
alasql('SELECT * INTO phases FROM ?',[data]);
var res = alasql('SELECT * FROM phases q WHERE (SELECT COUNT(*) FROM phases t WHERE t.Phase = q.Phase) = 2');
document.getElementById('res').textContent = JSON.stringify(res);