• 09-03-2022, 00:13:22
    #1
    Mysql tablomda beğeniler kısmında kullanıcı postu beğendi diyelim mail1,mail2,mail3 diye sırayla kaydediyorum.

    yapmak istediğim şey;
    en çok beğenilen postları order by ile sıralayıp getirmek.

    yani bu virgüllü değerleri bölüp sayısına göre sıralı bir şekilde çağırmam gerekiyor. bilgim yetmedi nasıl yapabilirim?
  • Kabul Edilen Cevap
    • DECLARE @String varchar(50) = '1012,1012,1012,1012,1012,1012,1012,1012'

      SELECT LEN(@String) - LEN(REPLACE(@String, ',', '')) + 1
  • 09-03-2022, 00:16:41
    #2
    Üyeliği durduruldu
    [COLOR=var(--highlight-keyword)]DECLARE[/COLOR] [COLOR=var(--highlight-variable)]@String[/COLOR] [COLOR=var(--highlight-namespace)]varchar[/COLOR]([COLOR=var(--highlight-namespace)]50[/COLOR]) = [COLOR=var(--highlight-variable)]'1012,1012,1012,1012,1012,1012,1012,1012'[/COLOR]

    [COLOR=var(--highlight-keyword)]SELECT[/COLOR] LEN([COLOR=var(--highlight-variable)]@String[/COLOR]) - LEN(REPLACE([COLOR=var(--highlight-variable)]@String[/COLOR], [COLOR=var(--highlight-variable)]','[/COLOR], [COLOR=var(--highlight-variable)]''[/COLOR])) + [COLOR=var(--highlight-namespace)]1[/COLOR]


    Örnek Olsun
  • 09-03-2022, 00:17:26
    #3
    webirinci adlı üyeden alıntı: mesajı görüntüle
    [COLOR=var(--highlight-keyword)]DECLARE[/COLOR] [COLOR=var(--highlight-variable)]@String[/COLOR] [COLOR=var(--highlight-namespace)]varchar[/COLOR]([COLOR=var(--highlight-namespace)]50[/COLOR]) = [COLOR=var(--highlight-variable)]'1012,1012,1012,1012,1012,1012,1012,1012'[/COLOR]

    [COLOR=var(--highlight-keyword)]SELECT[/COLOR] LEN([COLOR=var(--highlight-variable)]@String[/COLOR]) - LEN(REPLACE([COLOR=var(--highlight-variable)]@String[/COLOR], [COLOR=var(--highlight-variable)]','[/COLOR], [COLOR=var(--highlight-variable)]''[/COLOR])) + [COLOR=var(--highlight-namespace)]1[/COLOR]


    Örnek Olsun
    hocam bozuk geldi teşekkürler bu arada
  • 09-03-2022, 00:17:29
    #4
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    Üyeliği durduruldu
    DECLARE @String varchar(50) = '1012,1012,1012,1012,1012,1012,1012,1012'

    SELECT LEN(@String) - LEN(REPLACE(@String, ',', '')) + 1
  • 09-03-2022, 00:19:54
    #5
    webirinci adlı üyeden alıntı: mesajı görüntüle
    DECLARE @String varchar(50) = '1012,1012,1012,1012,1012,1012,1012,1012'

    SELECT LEN(@String) - LEN(REPLACE(@String, ',', '')) + 1
    çok teşekkürler hocam )