为了按名称排序,我使用了'order by name‘
但是名称包含双冒号:'::'
如何按双冒号后面的文本排序?
所以:
aaaa::bbbb
aaaa::aaaa
aaaa::1234
aaaa::a1234将按以下顺序排序:
aaaa::1234
aaaa::aaaa
aaaa::a1234
aaaa::bbbb发布于 2012-06-15 19:11:58
发布于 2012-06-15 19:02:02
您必须在MySQL中创建一个新字段,然后将文本的第二部分插入其中。Sort by使用各种索引和算法(例如分而治之)。
因此,它不能对特定字符串的特定部分进行排序,如果您确实设法“伪造”了一种方式,那么由于缺乏索引,性能将非常糟糕。
对不起,我意识到这可能不是你想要的答案,但我担心最好的方法是稍微长一点的方法,但如果你给它添加一个索引,至少你可以以极快的速度完成:)
发布于 2012-06-15 19:02:58
您必须将文本拆分为两列,并按后一列排序。您可以在应用程序代码中拆分和联接列,也可以使用视图和存储过程使其在数据库客户端上看起来像一列。
https://stackoverflow.com/questions/11049357
复制相似问题