• Как правильно составить запрос для взятия первого значения из группы?

    @azio
    Владимир Скибин, у Вас тоже нет дополнительных условий на выборку, поэтому будет перебираться вся таблица. Может для текущей задачи это и не так страшно, потому что скорее всего Вам не нужно будет постоянно перебирать все данные от "начала времен". Если речь идет о биллинге, то вероятно, нужно будет смотреть данные за какой-то период, например, за месяц. В таком случае можно будет добавить индекс на "timestamp" и в подзапросе sub накладывать дополнительный фильтр where "timestamp" between :a and :b. В этом случае выборка будет более эффективной.