MySQL - ORDER BY没有考虑在内

时间:2015-08-24 09:23:12

标签: mysql sql

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

它有效,但是" ORDER BY"没有考虑到,记录显示类似

  • 表1:45
  • 表2:7
  • 表3:128

我想要一个像这样的输出:

  • 表3:128
  • 表1:45
  • 表2: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

1 个答案:

答案 0 :(得分:1)

按语句排列的内部顺序仅与限制条款和类似内容有关。最后一个最外面的选择的顺序是对输出进行排序的顺序。我希望内部顺序是语法错误。

我并不过分熟悉MySQL的内容,因此在这种情况下可能不是实际问题。

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

进行排序