-1
我需要一個帶有行號(可能使用ROW_NUMBER())的列的查詢,如果結果是8行(例如)查詢應該導致10行的行9和10爲空行號除外。如果結果是15行,結果應該是20行,依此類推... 它是正確的?查詢添加行直到10的倍數
我需要一個帶有行號(可能使用ROW_NUMBER())的列的查詢,如果結果是8行(例如)查詢應該導致10行的行9和10爲空行號除外。如果結果是15行,結果應該是20行,依此類推... 它是正確的?查詢添加行直到10的倍數
通常情況下,應用程序層中會這樣做。但是,您可以在SQL中執行此操作:
select t.*
from table t
union all
select nulls.*
from (select 1 as n union all select 2 union all . . . select 10
) n cross join
(select count(*) cnt from table) cnt left join
table nulls
on 1 = 0
where 10 * floor(cnt/10) + n.n <= cnt;
第一個子查詢會獲取所有數據。第二個獲取值爲NULL
的附加行。它使用帶「false」條件的left join
來獲取所有列。
你的努力到目前爲止? –
您特別使用哪種語言? – Martin
哪個dbms? (ROW_NUMBER()不是ANSI SQL ...) – jarlh