1 Son düzenleyen, erdal (25.01.2012 20:02:09)

Konu: uniqe id

gun        ay    yil        sicaklık    enlem    boylam    lokasyon_id
1            1    1999        23            22.50    30.55    sayi 1
1            1    1999        23            22.50    30.44    sayi 2
2            1    1999        18            22.50    30.80    sayi 3
3            1    1999        12            26.10    30.80    sayi 4
4            1    1999        22            22.50    30.55    sayi 1
..            ..    ..                ..                ..        ..        ..

Yukarıdaki tabloda, eslesen enlem ve boylam çiftleri için uniqe  lokasyon_id  değerleri atamak istiyorum.
Amacım lokasyon_id değerlerini atadiktan sonra, diger field'lerden bagımsız olarak lokasyon_id ile gruplanmıs ortalama sıcaklık degerlerini hesaplamak.
Simdiden tesekkur ederim..

2

Re: uniqe id

sql ile şu şekilde yapabilirsin

SQL
SELECT b.gun,b.ay,b.yil,b.sicaklik,a.* FROM

(
SELECT enlem,boylam,ROW_NUMBER() over (ORDER BY enlem,boylam) AS lokasyon_id FROM senintablon GROUP BY enlem,boylam
) a
LEFT JOIN
(
SELECT * FROM senintablon
) b ON b.enlem=a.enlem AND b.boylam=a.boylam

3

Re: uniqe id

Tesekkur ederim..Ben su sekilde yaptim:

Visual Fox Pro
**lokasyon_id'yi siliyorum

Alter Table MyTable Drop Column lokasyon_id
 
**lokasyon_id'yi character olarak tanimliyorum       
Alter Table MyTable Add Column lokasyon_id c (13)       
 
**lokasyon_id'yi Enlem Boylam ciftleri ile dolduruyorum
Scan                                               
    Replace lokasyon_id;
        With ;
        Str(enlem,5,2)+"and"+Str(boylam,5,2)
Endscan
 
**Her lokasyona ait aylik ortalamayi hesapliyorum
Select yil, ay, Avg(sicaklik), enlem, boylam, lokasyon_id ;
    From MyTable ;
    Group By lokasyon_id,yil,ay,enlem,boylam

Ancak character olan  lokasyon_id uzerinden group by ile average almak sakincali olabilir, tam bilmiyorum.
Bu nedenle lokasyon_id'nin sayisal olmasi gerekebilir.

4

Re: uniqe id

Erdalö
O kadar karmasaya gerek yok, basit tek SQL:

Visual Fox Pro
Select yil, ay, enlem, boylam, Avg(sicaklik) ;

    From MyTable ;
    Group By yil,ay,enlem,boylam

5 Son düzenleyen, erdal (26.01.2012 22:15:50)

Re: uniqe id

sagol Cetin Abi..