2010-10-19 91 views
8

我正在尝试使用字母排序mysql数据,如mysql字母顺序

A | B | C | d

当我点击B此查询从用户的ORDER BY“B”

运行

选择的名字,但结果显示开始与A或C或二要显示记录的所有记录开始只用b

感谢您的帮助

回答

27

我想显示仅记录开始用b

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

我试图MySQL数据alphabeticaly

select name from user ORDER BY name; 
排序

我试图以相反的字母顺序

select name from user ORDER BY name desc; 
6

但结果显示所有记录 开始用A或C或二要 显示只记录开始用b

你应该在这种情况下使用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

MySQL的数据进行排序,您可以使用:

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

而按字母顺序排序的数据,则不需要用户where子句。 这里是我的代码

SELECT * FROM tbl_name ORDER BY field_name 

就是这样。 它以字母顺序返回数据,即;从A到Z。 :)

1

通配符与like子句一起使用来对记录进行排序。

如果我们要搜索一个字符串,它是

开始与B,则代码如下所示:

SELECT * FROM表名,其中colname的像被列名“B%”秩序;

如果我们要搜索以B结尾的字符串,则代码如下所示: select * from tablename其中colname如'%B'按列名排序;

如果我们要搜索一个字符串,它是

包含B,则代码如下所示: SELECT * FROM表名,其中colname的像被列名“%B%”命令;

如果我们要搜索第二个字符为B的字符串,则代码如下所示: select * from tablename其中colname如'_B%'按列名排序;

如果我们要搜索第三个字符为B的字符串,则代码如下所示: select * from tablename其中colname如'__B%'按列名排序;

注意:一个字符为一个下划线。

0

我尝试使用查询它做工精细的数据进行排序,我请试试这个:

select name from user order by name asc 

也可以尝试下面的查询搜索记录是按字母顺序

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

这个答案是一样的一切其他答案。你为什么要发布它? – robinCTS 2017-12-23 06:54:30

+0

@LuFFy你为什么编辑这篇文章?第一部分不是对问题的回答(并且已经在接受的答案中提供),第二部分仅仅是复制其他答案。 – robinCTS 2017-12-23 08:29:02

+0

我刚刚格式化了答案..你可以通过点击'编辑'链接查看区别。 – LuFFy 2017-12-23 09:01:47