you can do that with only one query

SELECT param, max(date) , value
FROM param_values
GROUP BY param
HAVING date=max(date)

_max_date  = db.param_values.date.max()
rows = db(db.param_values).select(db.param_values.param,_max_date,
db.param_values.value, groupby=db.param_values.param,
having=db.param_values.date=_max_date)

Reply via email to