Php MySQL按结果排序,不按字母排序
我一直在试图找到解决这个问题的办法,但没有任何运气。我知道这里有几个类似的问题,但它们都是更复杂的场景,并不真正适用。好,问题是: 我有一个非常简单的表,其中列出了交易收款人及其相关类别。结构是Php MySQL按结果排序,不按字母排序,php,mysql,Php,Mysql,我一直在试图找到解决这个问题的办法,但没有任何运气。我知道这里有几个类似的问题,但它们都是更复杂的场景,并不真正适用。好,问题是: 我有一个非常简单的表,其中列出了交易收款人及其相关类别。结构是id-int,name-varchar,和cat-varchar 我正在尝试执行一个简单的查询,以按字母顺序显示收款人姓名,并使用while循环将其添加到选择框中。无论我是否使用ASC或DESC,它们都不会以明显的顺序显示。条目的开头或结尾都没有空格 以下是查询-按名称从收款人订单中选择名称 在phpMy
id-int
,name-varchar
,和cat-varchar
我正在尝试执行一个简单的查询,以按字母顺序显示收款人姓名,并使用while
循环将其添加到选择框中。无论我是否使用ASC或DESC,它们都不会以明显的顺序显示。条目的开头或结尾都没有空格
以下是查询-按名称从收款人订单中选择名称
在phpMyAdmin中尝试按字母顺序对它们进行排序时,我得到了相同的结果id
是一个自动递增的int字段和主键
谢谢
更新
以下是示例输出-按名称从收款人订单中选择名称ASC
- 希茨
- 沃尔格林
- 阿比氏
- 美元将军
- 埃克森美孚
- iTunes
- 红盒子
- 星巴克
- 沃尔玛
name
列条目的开头添加了一个空格。我为此抽查的条目很好,遗漏了有空白的条目
感谢您的帮助-通过评论解决,这是我的第一次lol这些字段可能并不完全包含您认为它们包含的数据。尝试从收款人处转储
选择十六进制(名称)的输出,以准确显示每个字段中的内容。以下是输出内容,以供参考:
417262792773 Arby's
446F6C6C61722047656E6572616C Dollar General
4578786F6E Exxon
6954756E6573 iTunes
52656420426F78 Red Box
53686565747A Sheetz
537461726275636B73 Starbucks
57616C677265656E73 Walgreens
57616C6D617274 Walmart
演示:
还要验证您的表排序规则以*_ci结尾,输出数据的示例是什么样子的?您的查询看起来很好,因此请检查数据中的实际内容。表上的字符集/排序规则是什么?这也会影响排序,例如,在a-Zit不是查询之前,您正在对a-z条目进行区分大小写的排序-这是显示…名称从何而来?除非我遗漏了什么,否则您的表只有三列,id
、payee
和cat
看起来除了Sheetz和Walgreen之外,您得到了正确的排序。也许你在这些名字的开头有一些垃圾?你能告诉我们收款人按姓名订购ASC的<代码>选择十六进制(名称)的输出吗?
SELECT name FROM payees ORDER BY trim(name)