lostyazilim
tr.link

PHP char türündeki sütunun sayısal olarak doğru sıralanmasını sağlamak!

4 Mesajlar 462 Okunma
lstbozum
tr.link

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

Selamun Aleyküm...

ÜLKEMİZE SONSUZ GEÇMİŞ OLSUN... ... ...

HAYAT SINAVI'na devam....

***

Spesifik bir sorum var, paylaşıyorum belki bir bilen vardır ve konuya açıklık getirir diye...

1) category_number adında bir sütun var ve türü char/varchar.

2) ORDER BY category_number şeklinde bir sıralama yaptığımda basamakları yok sayıyor, ilk karakteri baz alıyor ve şu şekilde sıralıyor;

1

17
1974
2
3
4
48
5
6
7
8
822
9

gibi...

"SÜTUNUN TİPİNİ SAYISAL YAPMADAN" "SORGUYA USTACA BİR MÜDAHALE YAPARAK" bu sıralamayı nasıl optimize edebiliriz?

Teşekkürler...

Mesaj 2 defa düzenlendi. Son düzenleyen: BEYAZMASTER (22.02.2023 14:11)

 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
wmaraci
reklam

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)

aleyküm selam hocam.

 

Sorunuzdaki olayı denemedim ama aklıma şöyle bir yol geldi. Ama bunun için en uzun karakterli sayıyı bilmeniz gerek. Şöyle örnek vereyim. En uzun sayı karakterimiz 5 haneli olsun. php str_len fonksiyonu ile her gelen verinin kaç karakterli olduğuna bakıp 5 karakterden kaç karakter eksik ise başına 0 ekleyip daha sonra sıralama yaptırabilirsiniz.  Ya da bu gelen veriyi array olarak tutup array içinde sıralama yaptırabilirsiniz. Sanki array daha mantıklı gibi. Müsait olunca deneme de yaparım. Şimdilik aklıma bunlar geldi.

BEYAZMASTER

kişi bu mesajı beğendi.

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

@ÖmerGünay üstadım çok teşekkür ederim cevabınız için...

Çok mantıklı bir çözüm aklınıza gelen...

En uzun karakter 10 diyebiliriz.

Hayati bir konu değil ama merak ettim çözümü...

Sorguda halletmenin bir yolu yok sanırım... !?

 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)

sorgudan da yolu vardır da ben sorgularda çok iyi değilim. :)

BEYAZMASTER

kişi bu mesajı beğendi.

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al