>
> is there a better way to get the max - 1?
> I could loop through and run the queriy for each customer but the cost
> on ten thousand quesries is rather high also?
>
You can directly get the "max - 1" with "order by desc" and "limit" and "offset".
It's worth a try whether that is faster (I would suspect that it is O(n*log(n))
compared to O(n^2) in your "max from max" query).
Christoph Dalitz