【问题标题】:how can I get query result order by desc with out "order by" command?如何在没有“order by”命令的情况下按 desc 获取查询结果顺序?
【发布时间】:2014-11-03 09:21:41
【问题描述】:

当我使用不按子命令排序的选择命令时:

从表格中选择一列

结果序列默认按 id 列 asc 排序(或者按记录插入表中的顺序,我不确定)。但我希望它按 desc 排序而不按子命令排序。

我尝试在 id 列上创建 desc 索引,但没有帮助。

有没有办法做到这一点?

感谢任何帮助。谢谢。

【问题讨论】:

  • "但我希望它按 desc 排序而不按顺序" --- 因为...?
  • 我认为NO没有办法。
  • SQL 表未排序:如果您不使用 ORDER BY,则无法保证返回行的顺序。只需使用 ORDER BY。

标签: mysql


【解决方案1】:

不,不能这样做。

您当前的查询不会返回按任何特定值或按插入顺序排序的项目,而是按数据库当前方便获取它们的顺序。如果数据库决定使用不同的执行计划来获取数据,则此顺序可能会随时更改。

如果你想要一个可靠的排序,你需要使用order by 子句来指定它。

【讨论】:

  • 技术上 mysql 支持ALTER TABLE ... ORDER BY,但应该明白它只能在下一次修改表时起作用。
  • @zerkms 我试过这个:alter table tablename order by id desc;它没有帮助。案例是我重用我们的框架来实现一个功能,不是官方流程,所以不想更新通用框架中的select命令,只想找个变通办法。
  • @waitsumme:好吧,您还没有解释为什么需要它。否则,您将无法为您的问题找到有意义的解决方案
  • @waitsummer:你运气不好
【解决方案2】:

如果你使用 phpmyadmin,你可以试试这个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    相关资源
    最近更新 更多