【问题标题】:MySQL - ORDER BY not taken into accountMySQL - ORDER BY 未考虑在内
【发布时间】:2015-08-24 09:23:12
【问题描述】:

我有这个代码;它应该显示我的主数据库中的所有表及其记录。

它有效,但没有考虑“ORDER BY”,记录显示类似

  • table1:45
  • table2:7
  • table3:128

我想要这样的输出:

  • table3:128
  • table1:45
  • table2:7

谁能告诉我我的代码有什么问题?非常感谢!

SELECT (SELECT (@container) 
          FROM (SELECT (@container:=0x00),
                 (SELECT (@container)
                   FROM (information_schema.columns)
                   WHERE (table_schema = database)
                   AND (@container:=CONCAT(@container,table_name,0x3a,table_rows,0x3c6272202f3e))
                   ORDER BY table_rows DESC
                 )
               )
         a);

编辑:我在这里创建了一个假表:http://sqlfiddle.com/#!9/ed0b2 但是,仍然没有任何线索;查询按 table_rows ASC 对输出进行排序,即使我问它 DESC

【问题讨论】:

  • 您可以按照@LoztlnSpace 的建议尝试在最后一个外部查询中排序...如果您需要更多支持,请创建一个#sqlfiddle 以便实际检查...
  • 我该怎么做? :)
  • 转到 Bhawin 提供的上述链接并在左窗格中创建模式和插入语句,在右窗格中创建查询。
  • @ZafarMalik 请注意,查询是针对元数据的。

标签: mysql sql


【解决方案1】:

Inner order by 语句只与限制子句和类似的东西有关。最后的最外层选择的 order by 是对输出的排序。我希望内部 order by 是一个语法错误。

我对 MySQL 的内容并不太熟悉,因此在这种情况下,这可能不是真正的问题。

编辑: asc/desc 是内部排序被删除/忽略的副作用。您需要对最外层的选择进行排序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 2015-02-26
    • 2013-01-24
    相关资源
    最近更新 更多