2010-10-19 2 views
8

Я пытаюсь сортировать данные mysql с алфавитным способомmysql в алфавитном порядке

A | B | C | D

, когда я нажимаю на В этом запросе выполняется

выберите название от того пользователя на «б»

но результат, показывающие все записи, начиная с или с или ди хочет показать записи только начиная с б

спасибо за помощь

ответ

27

я хочу показать записи только начиная с б

select name from user where name LIKE 'b%'; 

я пытаюсь сортировать данные MySQL alphabeticaly

select name from user ORDER BY name; 

я пытаюсь сортировать данные MySQL в обратном алфавитном порядке

select name from user ORDER BY name desc; 
6

, но результат, показывающий все записи начиная с или с или ди хочет шоу записей только начиная с б

Вы должны использовать WHERE в этом случае:

select name from user where name = 'b' order by name 

Если вы хотите, чтобы регулярное выражение, вы можете использовать LIKE оператор там тоже, если хотите. Пример:

select name from user where name like 'b%' order by name 

Это позволит выбрать записи, начинающиеся с b. После запроса с другой стороны, будут выбраны все строки, где b встречается где-нибудь в колонке:

select name from user where name like '%b%' order by name 
1

Если вы хотите, чтобы ограничить строки, возвращаемые запросом, вам нужно использовать пункт WHERE, а не статья ORDER BY. Попробуйте

select name from user where name like 'b%' 
2

Вы можете использовать:

SELECT name FROM user WHERE name like 'b%' ORDER BY name 
1

Вам не нужно пользователю, где положение при заказе данных в алфавитном порядке. вот мой код

SELECT * FROM tbl_name ORDER BY field_name 

это все. Он возвращает данные в алфавитном порядке, т.е. От А до Я. :)

1

Подстановочные знаки используются с аналогичным предложением для сортировки записей.

, если мы хотим найти строку, которая начинается с B, то код вроде следующего:

выберите * из имя_таблицы где ColName как порядка «B»% по ColumnName;

Если мы хотим найти строку, которая заканчивается B, то код выглядит следующим образом: выберите * из tablename, где colname like '% B' order by columnname;

Если мы хотим найти строку, которая содержит B, то код выглядит следующим образом: выберите * из tablename, где colname like '% B%' order by columnname;

Если мы хотим найти строку, в которой второй символ B, то код выглядит следующим образом: выберите * из tablename, где colname like '_B%' order by columnname;

Если мы хотим найти строку, в которой третий символ является B, то код выглядит следующим образом: выберите * из tablename, где colname like '__B%' order by columnname;

примечание: одно подчеркивание для одного символа.

0

Я пытаюсь сортировать данные с запросом он работает нормально для меня, пожалуйста, попробуйте следующее:

select name from user order by name asc 

попробуйте также ниже запрос для поиска записи по алфавиту

SELECT name FROM `user` WHERE `name` LIKE 'b%' 
+0

Этот ответ такой же, как все другие ответы. Почему вы публикуете его? – robinCTS

+0

@LuFFy Почему вы отредактировали этот пост? Первая часть не является ответом на вопрос (и уже была представлена ​​в принятом ответе), а вторая часть просто копирует каждый ответ. – robinCTS

+0

Я только отформатировал ответ. Вы можете увидеть разницу, щелкнув ссылку «отредактированный». – LuFFy

Смежные вопросы