• 18-04-2018, 06:33:56
    #1
    Merhaba,

    Bi sayıya göre sıralama yapmak istiyorum, maaş örneğini verdim.

    Örneğin "personel" tablomuz var,
    "siralama" ve "maas" alanlarımız var.

    "maas" sayısının büyükten küçüğe olacak şekilde sıralanarak, bu sıranın "siralama" alanında güncellenmesini istiyorum. Maaşlar değiştiğinde, update kodunu çalıştırarak "siralama" alanını yenilemek istiyorum.

    row_number ile denedim ama başaramadım.

    SELECT row_number() over(order by maas) AS siralama, * FROM personel
    Yardımcı olabilecek var mı?
  • 18-04-2018, 07:10:14
    #2
    Select * from personel ORDER BY maas DESCBu komut ile guncellemeye gerek yok en yuksek ilk gorunur
  • 18-04-2018, 07:37:44
    #3
    celalyesil adlı üyeden alıntı: mesajı görüntüle
    Select * from personel ORDER BY maas DESCBu komut ile guncellemeye gerek yok en yuksek ilk gorunur
    Hocam teşekkürler, ancak ben bunun için kullanmayacağım,

    "personel: x" sayfası açıldığında maaşa göre kaçıncı sırada olduğunu göstermek için kullanacağım.
  • 18-04-2018, 08:30:10
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    dostum şu sorguyu kullanırmısın ben parse etmedim ama umarım syntax hatası yoktur.DECLARE @Last INT;
    Select @Last=COUNT(*) from personel
    DECLARE @Sayac INT = 1;
    WHILE @Sayac < @Last BEGIN PRINT @Sayac;
    UPDATE personel SET siralama=@Sayac
    ORDER BY maas desc
    SET @Sayac += 1;
    END;
    GO
  • 18-04-2018, 09:27:05
    #5
    CagdasBlog adlı üyeden alıntı: mesajı görüntüle
    dostum şu sorguyu kullanırmısın ben parse etmedim ama umarım syntax hatası yoktur.DECLARE @Last INT;
    Select @Last=COUNT(*) from personel
    DECLARE @Sayac INT = 1;
    WHILE @Sayac < @Last BEGIN PRINT @Sayac;
    UPDATE personel SET siralama=@Sayac
    ORDER BY maas desc
    SET @Sayac += 1;
    END;
    GO
    Hocam mysql kullanıyorum, phpmyadmin üzerinden, sanırım ondan kaynaklı bir hata aldım:

    Tanınmayan ifade türü. (near "DECLARE" at position 0)
  • 01-05-2018, 03:03:22
    #6
    Vin adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Bi sayıya göre sıralama yapmak istiyorum, maaş örneğini verdim.

    Örneğin "personel" tablomuz var,
    "siralama" ve "maas" alanlarımız var.

    "maas" sayısının büyükten küçüğe olacak şekilde sıralanarak, bu sıranın "siralama" alanında güncellenmesini istiyorum. Maaşlar değiştiğinde, update kodunu çalıştırarak "siralama" alanını yenilemek istiyorum.

    row_number ile denedim ama başaramadım.

    SELECT row_number() over(order by maas) AS siralama, * FROM personel
    Yardımcı olabilecek var mı?
    Merhaba Mysql üzerinde Row Number gibi bir sonuç elde etmek istiyorsan şu şekilde olabilir;

    set @row_number=0;
    select (@row_number := @row_number +1) AS siralama, personel.* FROM personel ORDER BY maas desc