Renjith_R Ответов: 1

Как выбрать числа в порядке возрастания


Я пытаюсь получить числа в порядке возрастания из SQL DB.у меня есть столбец под названием DATE, и мне нужно выбрать различные значения из базы данных.

я попробовал заказ по ASC, и он дает 1,10,11,111.. например, я хочу взять выборку различных значений, таких как 1,2,3,4,5,6,7,8,9,10,11 ...

во втором запросе, если я удаляю distinct, то он работает нормально.

пожалуйста, помогите мне получить четкие значения

Что я уже пробовал:

select distinct Date from Daily ORDER BY CAST(Date as unsigned) ASC

select  distinct Date from Daily ORDER BY  Date * 1 ASC

F-ES Sitecore

Вот почему важно использовать правильные типы для ваших полей. Если ваши данные содержат числовые значения или значения дат, то используйте правильный тип, и порядок будет работать так, как ожидалось.

1 Ответов

Рейтинг:
4

Mehdi Gholam

Ваш Date столбец, вероятно, является строкой/varchar, следовательно, порядок строк.
Если вы используете MS SQL Server сделайте это :

select distinct Date from Daily ORDER BY CAST(Date as int) ASC


Renjith_R

Спасибо за быстрый ответ.
Я уже пробовал и это. это дает мне ошибку "порядок по элементам должен появиться в списке выбора, если указан SELECT DISTINCT." Если я удалю distinct из этого запроса, он будет работать. Но я хочу взять различные ценности.

Заранее спасибо

Mehdi Gholam

Снимите крышку и проверьте.

Renjith_R

если мы удалим отчетливое, это сработает. Но требование-это четкие ценности :)

Mehdi Gholam

Попробуйте : выберите различных ролях(дата как int) из суточная порядок бросания(дата как int) АСК

Renjith_R

Спасибо :)