A computer-implemented method for calculating an aggregated value at a given point in time in a database implementing multi-version concurrency control, the method comprising: accessing an ordered history table of the database, the history table comprising: an ID column identifying rows in a database table, a value column that lists a value for the corresponding row identified in the ID column, a "CID from" column and a "CID to" column that respectively indicate the CID values between which the value in the value column is valid for the identified row, the CID values in the "CID from" column and the "CID to" column being associated with one or more of updates, insertions, and deletions to values in the value column, wherein the CID values in the "CID from" column and the "CID to" column reflect the commit sequence of write transactions tracked by a transaction manager of the database, wherein each CID value is mapped to a corresponding timestamp; traversing the ordered history table in a single pass to calculate an aggregation function, the aggregation function being a maximum value or minimum value, for each CID in the "CID from" column, storing, by the aggregation function, a chained list (402,406,410) sorted by values, wherein each of the chained lists (402,406,410) is sorted such that a lookup of a maximum value or a minimum value only requires accessing the first value in the chained list (402,406,410), each of the chained lists (402,406,410) reflecting a current status of values from the value column at a time identified by the timestamp corresponding to the respective CID for which the chained list is stored, each value in the chained lists (402,406,410) including a counter indicating the number of instances of the value at the time identified by the timestamp, for each CID in the "CID from" column in the history table, generating the aggregated value for a version of the database table at a time identified by the timestamp corresponding to the CID, wherein the generating comprises accessing the first value in the chained list (402, 406, 410) stored for the CID; and promoting the aggregated value of each CID in the "CID from" column in the history table, wherein the promoting comprises one or more of storing the aggregated value, presenting the aggregated value via a user interface display, and sending an electronic message comprising the aggregated value. accessing an ordered history table of the database, the history table comprising: an ID column identifying rows in a database table, a value column that lists a value for the corresponding row identified in the ID column, a "CID from" column and a "CID to" column that respectively indicate the CID values between which the value in the value column is valid for the identified row, the CID values in the "CID from" column and the "CID to" column being associated with one or more of updates, insertions, and deletions to values in the value column, wherein the CID values in the "CID from" column and the "CID to" column reflect the commit sequence of write transactions tracked by a transaction manager of the database, wherein each CID value is mapped to a corresponding timestamp; an ID column identifying rows in a database table, a value column that lists a value for the corresponding row identified in the ID column, a "CID from" column and a "CID to" column that respectively indicate the CID values between which the value in the value column is valid for the identified row, the CID values in the "CID from" column and the "CID to" column being associated with one or more of updates, insertions, and deletions to values in the value column, wherein the CID values in the "CID from" column and the "CID to" column reflect the commit sequence of write transactions tracked by a transaction manager of the database, wherein each CID value is mapped to a corresponding timestamp; traversing the ordered history table in a single pass to calculate an aggregation function, the aggregation function being a maximum value or minimum value, for each CID in the "CID from" column, storing, by the aggregation function, a chained list (402,406,410) sorted by values, wherein each of the chained lists (402,406,410) is sorted such that a lookup of a maximum value or a minimum value only requires accessing the first value in the chained list (402,406,410), each of the chained lists (402,406,410) reflecting a current status of values from the value column at a time identified by the timestamp corresponding to the respective CID for which the chained list is stored, each value in the chained lists (402,406,410) including a counter indicating the number of instances of the value at the time identified by the timestamp, for each CID in the "CID from" column in the history table, generating the aggregated value for a version of the database table at a time identified by the timestamp corresponding to the CID, wherein the generating comprises accessing the first value in the chained list (402, 406, 410) stored for the CID; and promoting the aggregated value of each CID in the "CID from" column in the history table, wherein the promoting comprises one or more of storing the aggregated value, presenting the aggregated value via a user interface display, and sending an electronic message comprising the aggregated value.