Base Query

Base Query Predicates

Q(sum(x), y; y) :=
x < 5
∧ y BETWEEN 2 AND 5
∧ AVG(z) < AVG(x)
∧ regr_slope(x, y) < 1.

Base Query SQL

SELECT SUM(x), y
FROM
linregtest
WHERE x < 5
AND
y BETWEEN 2 AND 5
GROUP BY
y
HAVING
AVG(z) < AVG(x)
AND
regr_slope(y, x) < 1

Partial Query

Partial Query Predicates

Q1(x, y, z; y) :=
x < 5
∧ y >= 2
∧ y <= 5
∧ MIN(z) < MAX(x)
∧ ⊤

Partial Query SQL

SELECT x, y, z
FROM baseRelation
WHERE x < 5
AND y >= 2
AND y <= 5
AND y IN (

SELECT y
FROM baseRelation
GROUP BY y
HAVING MIN(z) < MAX(x)
AND TRUE

)

Remainder Query

Remainder Query Predicates

Qdelta(sum(x), y ; y) :=
AVG(z) < AVG(x)
∧ regr_slope(x, y) < 1

Remainder Query SQL

SELECT SUM(x), y
FROM partialRelation
GROUP BY y
HAVING AVG(z) < AVG(x)
AND regr_slope(y,x) < 1

Base Relation

X Y Z Comment
1 1   Just
2 1   to
3 3 1 show
4 3 1 that
5 4 9 we
6 4 9 don't
7 5 9 need
8 5 9 everything

Relation for Remainder Query

X Y Z
3 3 1
4 3 1

Resultset of the Query

SUM(X) y
7 3