您可以将整个查询包装在子查询中:
select
B.*
from
( SELECT
A.*,
(SELECT COUNT(*) FROM Tabel1 WHERE A.ID>=ID) AS RowNum
FROM Tabel1 AS A
) as B
ORDER BY B.ID;
从这里,您可以进行联接,就好像查询的输出是一个表一样。我不知道您实际上要分组什么,但是这里有一个例子:
select
B.Field1, count (*) as count, max (B.RowNum) as max_row
from
( SELECT
A.*,
(SELECT COUNT(*) FROM Tabel1 WHERE A.ID>=ID) AS RowNum
FROM Tabel1 AS A
) as B
group by
b.Field1
-编辑11/14/2016-
我想我现在知道了。在这种情况下,请首先构建查询以处理您的分组。这只是一个例子:
SELECT Field1, min (Id) as min_id, max (id) as max_id
FROM Table1
group by Field1
Table1_Summary
出于我们的示例的目的,将此查询命名为。
现在,在新查询中,您将以与示例完全相同的方式引用Table1_Summary:
SELECT
t.*,
(select count (*) from Table1_Summary t2 where t.Field1 >= t2.Field1) as RowNum
FROM Table1_Summary t
从理论上讲,您可以在单个查询中执行此操作,但是出于可读性/可维护性的考虑,建议您将它们分开。这是输出示例:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句