解释一下这条SQL语句?

来源:百度知道 编辑:UC知道 时间:2024/05/14 06:27:44
SELECT *
FROM T
ORDER BY
(SELECT COUNT(*)
FROM T a
WHERE a.name = t.name AND a.id <= T.id), ID

请详细解释order by后面那个select语句的含义!
不存在两个表,只有一个表的情况

排序

从A,T两表中相同名字的选项,在A里面ID数小于T里面ID的“个数”,这是第一排序
第二排序是ID

比如
A表
姓名 ID
aa 55
aa 44
bb 11

B表
姓名 ID
aa 66
bb 12

则COUNT(*) FROM T a WHERE a.name = t.name AND a.id <= T.id

对于aa,就是2
对于bb,就是1