MySQL按字母顺序排列

22

我正在尝试按字母顺序对MySQL数据进行排序,例如:

A | B | C | D

当我点击B时,将运行以下查询:

select name from user order by 'b'

但结果显示所有以a、c或d开头的记录,我只想显示以b开头的记录。

感谢您的帮助。

9个回答

61

我想只显示以字母b开头的记录

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

我试图将MySQL数据按字母顺序排序

select name from user ORDER BY name;

我正在尝试将MySQL数据按反字母顺序排序。

select name from user ORDER BY name desc;

7
但结果显示所有以a或c或d开头的记录,我只想显示以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

2

您可以使用:

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 tablename where colname like 'B%' order by columnname ;

如果我们想要搜索以B结尾的字符串,那么代码如下所示:
select * from tablename where colname like '%B' order by columnname ;

如果我们想要搜索包含B的字符串,那么代码如下所示:
select * from tablename where colname like '%B%' order by columnname ;

如果我们想要搜索一个字符串,其中第二个字符是B,那么代码如下所示:
select * from tablename where colname like '_B%' order by columnname ;

如果我们想要搜索一个字符串,其中第三个字符是B,那么代码如下所示:
select * from tablename where colname like '__B%' order by columnname ;

注意:一个下划线代表一个字符。

1
如果您想限制查询返回的行数,您需要使用 WHERE 子句而不是 ORDER BY 子句。请尝试。
select name from user where name like 'b%'

1
我曾经面临同样的挑战,但经过一些研究后,我想到了这个方法,它给我带来了所需的结果,我成功地克服了这条路。
SELECT * from TABLE ORDER BY name

2
这个答案如何添加新的东西? - Scratte

0

我尝试使用查询对数据进行排序,它对我来说运行良好,请尝试这样做:

select name from user order by name asc 

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

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

这个回答和其他所有回答都一样。你为什么要发表它? - robinCTS
@LuFFy 你为什么编辑了这篇帖子?第一部分不是对问题的回答(并且已经在被接受的答案中提供),第二部分只是复制了其他所有答案。 - robinCTS
我刚刚格式化了回答...您可以通过点击“编辑”链接来查看差异。 - LuFFy
@LuFFy,抱歉回复晚了。(你忘了“ping”我;))我的意思是这个答案应该被删除。你知道编辑会将问题移出LQP检查队列,取消当前的投票并导致它保持未删除状态吗?从工具提示“如果你可以修复这个答案的所有问题,请__编辑__”,可以看出只有在答案需要保留的情况下才应选择“编辑”。那些是其他答案的副本,没有任何额外的有用信息,最糟糕的是抄袭,最好的情况是“噪音”。他们应该被删除。 - robinCTS
@LuFFy 选择“编辑”应该是在您绝对确定您的编辑将一个可以删除的答案转换为不可删除的答案(例如,添加适当的信息以回答仅链接的答案),或者改进真正低质量的答案,使其不再是低质量的答案(例如,在难以理解、可能没有代码的答案中修复语法/拼写/标点符号/大写字母/格式)。您还必须检查答案是否实际尝试回答问题并且不是现有答案的副本... - robinCTS
如果您只想改善格式、错别字和小的拼写/语法/标点错误,请将审查加入书签,然后选择“看起来不错”、“建议删除”或“跳过”,视情况而定。在审查结束后,如果答案没有被删除,则进行编辑。(请注意,如果您不希望分析所有其他答案,使用“看起来不错”是可以的。) - robinCTS

0
MySQL解决方案:
select Name from Employee order by Name ;

Order by 会将名称按照从 A 到 Z 的顺序排序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接