• 26-09-2010, 23:01:03
    #19
    Eposta Aktivasyonu Gerekmekte
    Söylediğin doğru orada hata yapmışım video_id yerine sıralama yapılması istenilen alan yazılmalı ki fatal'da video alanını yazmış zaten. Yani ilk sorguda neyi sıralatmışsak ikinci sorgudada onu terten sıralıyoruz bu şekilde sorun morun olmuyor
  • 26-09-2010, 23:09:01
    #20
    MC_delta_T adlı üyeden alıntı: mesajı görüntüle
    localde isim+0 şeklinde denedim. string olan alan integer a dönmedi. 0 değerinde bir alan oluşur bütün kayıtlar için. bunu istediğin kadar diz farketmez. aynı şeyi BINARY,CAST ve CONVERT ile denedim sonuç aynı. bence database ni değiştir.

    +



    eğer arada bulunan bölümlerde bir sorun oluşup silinmesi durumunda ( yani id lerin sırası ile bölümlerin sırası aynı sırada gitmezse ) sorun olmazmı bu sorguda?

    webloader da denedi, onda da çalışmadı isim+0 olayı, sanırım sürümlerle alakalı birşey, bende çalışıyor,

    2. soruna gelecek olursak, aslında doğru söylüyorsun, ilk sorguda isimlere göre 1 den 9 a göre sıralattık, daha sonra id ye göre ters çevirdik, ama benim db de çogu video zaten id ye göre düzgün olduğu için sonuç bana düzgün gözüktü, karman çorman olsaydı yine hata olacaktı zannımca, yani kısacası en başa döndük
  • 26-09-2010, 23:18:10
    #21
    Üyeliği durduruldu
    Benim yoluma döncen Dedim ben
    fatal adlı üyeden alıntı: mesajı görüntüle
    webloader da denedi, onda da çalışmadı isim+0 olayı, sanırım sürümlerle alakalı birşey, bende çalışıyor,

    2. soruna gelecek olursak, aslında doğru söylüyorsun, ilk sorguda isimlere göre 1 den 9 a göre sıralattık, daha sonra id ye göre ters çevirdik, ama benim db de çogu video zaten id ye göre düzgün olduğu için sonuç bana düzgün gözüktü, karman çorman olsaydı yine hata olacaktı zannımca, yani kısacası en başa döndük
  • 26-09-2010, 23:30:27
    #22
    Üyeliği durduruldu
    fatal adlı üyeden alıntı: mesajı görüntüle
    webloader da denedi, onda da çalışmadı isim+0 olayı, sanırım sürümlerle alakalı birşey, bende çalışıyor,

    2. soruna gelecek olursak, aslında doğru söylüyorsun, ilk sorguda isimlere göre 1 den 9 a göre sıralattık, daha sonra id ye göre ters çevirdik, ama benim db de çogu video zaten id ye göre düzgün olduğu için sonuç bana düzgün gözüktü, karman çorman olsaydı yine hata olacaktı zannımca, yani kısacası en başa döndük
    o zaman çözüm yoların şöyle:
    1-mysql e regex-replace desteğinin eklenmesini bekle. ki ufukta gözükmüyor şu anda.
    2-oracle a geç. çünkü oracle de regex desteği varmış. link
    3-illa bu database yapısı ile devam edicem dersen snare nin verdiği çözümü uygula.
    4-database yapını değiştir.

    bence en mantıklısı 4. sü. ama 3 te uygulanabilir.
  • 26-09-2010, 23:37:40
    #23
    MC_delta_T adlı üyeden alıntı: mesajı görüntüle
    o zaman çözüm yoların şöyle:
    1-mysql e regex-replace desteğinin eklenmesini bekle. ki ufukta gözükmüyor şu anda.
    2-oracle a geç. çünkü oracle de regex desteği varmış. link
    3-illa bu database yapısı ile devam edicem dersen snare nin verdiği çözümü uygula.
    4-database yapını değiştir.

    bence en mantıklısı 4. sü. ama 3 te uygulanabilir.
    mysql ile işin içinden çıkılacak gibi değil,

    php nin natsort (natural sorting) fonksiyonuyla hallettim. herkese teşekkürler.

    + mysql gibi dev bir yapıda natsort gibi bir özelliğin olmaması çok üzücü.
  • 26-09-2010, 23:54:00
    #24
    mysql dizileri desteklemediği için yapılamaz sanırım. postgresql kullansaydın fonksiyon yazıp kolayca halledebilirdin.
  • 27-09-2010, 00:01:45
    #25
    Üyeliği durduruldu
    SELECT * 
    FROM `table` 
    ORDER BY length( field) , field
    işe yarayabilir...
  • 27-09-2010, 00:23:36
    #26
    tristfs adlı üyeden alıntı: mesajı görüntüle
    SELECT * 
    FROM `table` 
    ORDER BY length( field) , field
    işe yarayabilir...
    bu dedigin de, kavak yelleri 1. sezon finali geldiiiiiiiiiii

    bu hepsinin üstünde çıkar. length'i yüksek olduğu için
  • 27-09-2010, 01:41:26
    #27
    Sadece yapılabileceğini göstermek için yazdığım bir sql kodudur. Sıralama için ekstra bir alan oluşturmak ya da php ile sıralatmak daha mantıklıdır.

    Alıntı
    set @f:=0;select isim from (SELECT @f:=@f+1 as sira,isim FROM `video2` ORDER BY isim+0, isim) as g order by sira desc
    video2: tablo adı
    isim: sıralama sütunu