Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Неправильная Сортировка товаров по имени


Recommended Posts

Приветствую, столкнулся с такой проблемой при сортировки по имени товара по имени отображает товары не правильно.
Есть список:
Доска 16см с 1 пропилом 

Доска 60см с 1 пропилом 

Доска 70см с 1 пропилом 

Доска 90см с 2 пропилами

Доска 100см с 1 пропилом 

Доска 100см с 2 пропилами

Доска 120см с 1 пропилом 

Доска 120см с 2 пропилами

 

При стандартной сортировке выдает 

Доска 100см с 1 пропилом 

Доска 100см с 2 пропилами

Доска 120см с 1 пропилом 

Доска 120см с 2 пропилами

Доска 16см с 1 пропилом 

Доска 60см с 1 пропилом 

Доска 70см с 1 пропилом 

Доска 90см с 2 пропилами

 

При использовании ORDER BY (pd.name+0)  ASC выдает 

Доска 16см с 1 пропилом 

Доска 60см с 1 пропилом 

Доска 70см с 1 пропилом 

Доска 100см с 1 пропилом 

Доска 120см с 1 пропилом 

Доска 90см с 2 пропилами

Доска 100см с 2 пропилами

Доска 120см с 2 пропилами

 

А нужно достичь такого 

Доска 16см с 1 пропилом 

Доска 60см с 1 пропилом 

Доска 70см с 1 пропилом 

Доска 90см с 2 пропилами

Доска 100см с 1 пропилом 

Доска 100см с 2 пропилами

Доска 120см с 1 пропилом 

Доска 120см с 2 пропилами

Кто сталкивался с таким ?

Змінено користувачем Andrey15
Надіслати
Поділитися на інших сайтах


Тут можно только чуть схитрить.

 

Например максимальный разме р занимает 3 цифры.

Тогд там где две цивры, перед размером вставляем линий пробел.

 

Например:

Доска 16см с 1 пропилом  - перед 16 ставим два пробела

Доска 100см с 1 пропилом   - перед 100 только один пробел

 

Правда придётся потратить время на правку названий.

  • +1 1
Надіслати
Поділитися на інших сайтах

28 минут назад, chukcha сказал:

пробуйте так

 

order by cast(name as unsigned)

Выдает 

Доска 16см с 1 пропилом 

Доска 60см с 1 пропилом 

Доска 70см с 1 пропилом 

Доска 100см с 1 пропилом 

Доска 120см с 1 пропилом 

Доска 90см с 2 пропилами

Доска 100см с 2 пропилами

Доска 120см с 2 пропилами

Надіслати
Поділитися на інших сайтах


1 час назад, mpn2005 сказал:

Тут можно только чуть схитрить.

 

Например максимальный разме р занимает 3 цифры.

Тогд там где две цивры, перед размером вставляем линий пробел.

 

Например:

Доска 16см с 1 пропилом  - перед 16 ставим два пробела

Доска 100см с 1 пропилом   - перед 100 только один пробел

 

Правда придётся потратить время на правку зазваний.

Выдает:

Доска 16см с 1 пропилом 

Доска 60см с 1 пропилом 

Доска 70см с 1 пропилом 

Доска 90см с 2 пропилами

Доска 100см с 1 пропилом 

Доска 100см с 2 пропилами

Доска 120см с 1 пропилом 

Доска 120см с 2 пропилами

По моему пока наиболее подходящий вариант.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.