首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按值计算的数据库顺序错误

按值计算的数据库顺序错误
EN

Stack Overflow用户
提问于 2017-06-26 12:25:56
回答 2查看 614关注 0票数 1

所以我有一个商店数据库,每个商店的名字前面都有一个数字。它们是按随机顺序添加的,但我希望它们按1到213的顺序显示。我的问题是,当我使用orderbyvalue()时,它会将它们显示为。

  • 1家商店
  • 10家商店
  • 11商店
  • 12商店
  • 13商店
  • 14商店
  • 15家商店
  • 16商店
  • 17商店
  • 18商店
  • 19商店
  • 2商店
  • 20家商店
  • 21商店
  • 22商店

诸若此类。我需要它们显示1,2,3,4,5等等,而不是1,10,11,12,13等等。

我该用什么来解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-26 14:41:11

正如John评论的那样,您得到的顺序是预期的:因为您存储的是字符串,所以节点是按字典顺序排列的。

如果要按数字排序,则必须将值存储为数字,或者(在更可能的情况下)将值存储在与数字顺序相同的格式中。例如。

  • 01商店
  • 02商店
  • 10家商店
  • 11商店
  • 19商店
  • 20家商店
  • 21商店
  • 22商店

  • 001商店
  • 002商店
  • 010商店
  • 011商店
  • 019商店
  • 020商店
  • 021商店
  • 022商店

在这种情况下,字符串的填充/前缀是非常正常的。其中一个主要缺点是,在启动项目时,您必须确定要使用多少个字符作为数字。

票数 0
EN

Stack Overflow用户

发布于 2017-12-14 14:43:09

前导零可能是一个暂时的解决方案,但是对于用户的体验来说,这是错误的。您必须实现排序函数。此外,如果您的系统需要处理999多家商店,您就不必为此修改代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44759707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档