Raja Krishna wrote:
>
> mo minta tolong nih, gimana ya untuk membuat average dari sum coloumn.
>
> misal seperti ini, aku punya 4 record dari 1 table A
>
> No Data Hasil
> 1 2500
> 2 3200
> 3 400
> 4 5
> dari sini aku mo select sehingga Field "Hasil" akan menghasilkan data
> seperti ini
>
> No Data Hasil
> 1 2500 0.40950041
> 2 3200 0.52416052
> 3 400 0.06552007
> 4 5 0.000819
> dimana hasil dari record no:
>
> 1. rumusannya 2500 \ sum(data)
> 2. rumusannya 3200 \ sum(data)
> 3. rumusannya 400 \ sum(data)
> 4. rumusannya 5 \ sum(data)
>
> Atas bantuan temen2 saya ucapkan banyak terima kasih.
> thanks
>
Case2 seperti ini paling cepat dan mudah diselesaikan dengan analytic
function, karena nilai aggregat bisa diperoleh tanpa grouping sehingga
bisa di-returned di setiap baris record
SQL> SELECT * FROM a;
NO DATA
---------- ----------
1 2500
2 3200
3 400
4 5
SQL> SELECT no, data, data / SUM(data) OVER () hasil
2 FROM a;
NO DATA HASIL
---------- ---------- ----------
1 2500 .40950041
2 3200 .524160524
3 400 .065520066
4 5 .000819001
>
> Regards,
>
> Krishna
>
CMIIW,
AH