I am executing the following query on PHP server
SELECT vv.id, vv.feature_id, vv.val, vv.lab, vv.variable_id, vv.subset_id, us.ord, us.nam subset_nam, us.ord, us.color
FROM variable_values vv
LEFT JOIN unit_subsets us ON vv.subset_id = us.id
INNER JOIN variables v ON vv.variable_id = v.id
WHERE v.nam='LanguageDistribution'
AND vv.feature_id IN (37,40...)
and it returns 65000 rowws, which depletes available memory.
Later I am programmatically grouping rows by vv.feature_id and retain only N
largest values per each group.
Can I do this on SQL side?
When I write
SELECT vv.id, vv.feature_id, vv.val, vv.lab, vv.variable_id, vv.subset_id, us.ord, us.nam subset_nam, us.ord, us.color
FROM variable_values vv
LEFT JOIN unit_subsets us ON vv.subset_id = us.id
INNER JOIN variables v ON vv.variable_id = v.id
WHERE v.nam='LanguageDistribution' AND
vv.id IN (SELECT vv2.id FROM variable_values vv2 WHERE vv2.variable_id = v.id ORDER BY vv2.val DESC LIMIT 5)
AND vv.feature_id IN (37,40,63...
it swears
[SQLITE_ERROR] SQL error or missing database (no such column: v.id)
How to succeed?