Acho que você pode usar uma consulta como esta:
SELECT SUM(My_Value)
FROM Table1 t
WHERE t.'Date' = (
SELECT Max(ti.'Date')
FROM Table1 ti
WHERE t.'HostName' = ti.'HostName');
[Demo do SQL Fiddle]
Eu tenho uma tabela assim:
DATE | HOSTNAME | MY_VALUE
-----------+----------+----------
2015-08-10 | host01 | 1
2015-08-10 | host02 | 3
2015-08-10 | host03 | 4
2015-08-11 | host01 | 7
2015-08-12 | host02 | 13
Desejo obter a soma do último MY_VALUE
de cada hostname
distinto na data mais recente. A saída deve ser ' 24
' (4 + 7 + 13).
SELECT sum(MY_VALUE)
FROM my_table
Quando você diz a data mais recente, significa que você deseja apenas um registro Hostname. Você pode ir com função analítica de número de linha.
select sum(myvalue),hostname
select hostname,date,myvalue,row_number() over (partition by hostname order by date) as n
from table )
where n=1
Se você ainda não tiver uma resposta. Você poderia por favor explicar sua exigência