sql - 这个sql语句是什么意思(order by count(*))?

标签 sql

这个sql语句可能是什么意思?

select * from tab1 order by (select count(*) from tab2) desc 

最佳答案

下面一行只是返回tab2中的行数,是一个常数

select count(*) from tab2

考虑编号为 1 到 n 的列,其中 n 是最后一列。

select * from tab1 order by 1

按第一列排序

select * from tab1 order by 2

将按第二列等排序。
如果 n 大于列数,那么您将遇到问题

编辑
但是,您正在使用子查询并拥有

select * from tbl1 order by (select 1000)

如果你有 <1000 列不会导致问题,它似乎什么都不做;查询可能缺少一些信息

关于sql - 这个sql语句是什么意思(order by count(*))?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18258022/

相关文章:

mysql - 使用 IN 和其他条件的 Rails 2.x 查询无法按预期工作

SQL: "Reverse"转置表

SQL Select 基于子查询的值

sql - 在 SQL 和 Sequel 中需要帮助,涉及内部连接和 where/filter

mysql - 根据select语句编写SQL删除

mysql - 返回列名及其在 MySQL 中的不同值的计数

java - 在 JDBI dropwizard 中使用自定义 where 条件

mysql - 获取 MySQL 查询中每个唯一键的值总和

MySQL查询过滤结果

mysql - 自动转换查询结果中每个日期列的日期格式的函数?