Ben Fiyat göre sıralama ediyorum, bak:
SELECT Price
FROM re2_listings
ORDER BY Price asc
Sonuç:
1.200.000,00
1.500.000,00
200,00
3.000,00
... Ama doğru yolu:
200,00
3.000,00
1.200.000,00
1.500.000,00
Anladınız mı? Bunun nasıl?
Açıkçası, VARCHAR sayısal miktarlarının depolanması için en iyi veri türü değildir. Eğer kullanmanız gerekiyorsa, sizin deyimi parçaları BY SELECT ve ORDER uygun bir sayısal tür fiyat sütunu CAST veya CAST içeren bir görünüm oluşturmak ve görünümünden SEÇ gerekir.
Için CAST için veri türü ve döküm için sözdizimi ürün bağlıdır.
MySQL veya SQL Server destekler:
SELECT t.price
FROM (SELECT r.price
CAST(r.price AS DECIMAL(15,2)) 'dprice'
FROM RE2_LISTING r) t
ORDER BY t.dprice
Ben uygun veri türü varchar sütunu döküm, ve diğer adı dprice
kullanılan yüzden sıralamak için referans olabilir. Eğer artan şekilde sıralama iseniz etmek istemiyorsanız, size ASC
belirtmek gerek yoktur - bu varsayılan bulunuyor.