SQLite Forum

Can this simple query be optimized?
Login
Here are 2 options equivalent to your original query which will only perform a single scan of table `foo`:

Using a temp table

```sql
CREATE TEMPORARY TABLE x AS
SELECT x, min(y) min_y, max(y) max_y FROM foo GROUP BY (x/10);

SELECT x, min_y
  FROM x
 UNION
SELECT x, max_y
  FROM x;
```

In a single query

```sql
SELECT DISTINCT x,
       CASE a
         WHEN 1 THEN min_y
         WHEN 2 THEN max_y
       END y
  FROM (SELECT x, min(y) min_y, max(y) max_y FROM foo GROUP BY (x/10))
  JOIN (SELECT 1 a UNION ALL SELECT 2);
```