例如這個SQL語句返回1K行拆分導致SQL查詢
SELECT * FROM tableName WHERE someCondition
我的問題是:是否有可能通過使用WHERE
1)拆分結果集,以10分的結果集,然後
1st。將返回0% - 10%,
2nd。 10% - 20%,
等。
2)削減50之間的範圍 - 第150行
例如這個SQL語句返回1K行拆分導致SQL查詢
SELECT * FROM tableName WHERE someCondition
我的問題是:是否有可能通過使用WHERE
1)拆分結果集,以10分的結果集,然後
1st。將返回0% - 10%,
2nd。 10% - 20%,
等。
2)削減50之間的範圍 - 第150行
如果您正在使用Oracle數據庫,這是非常簡單的。
你可以使用ROWNUM關鍵字以下方式來實現這一目標任務..
select * from
(
select tb.*,rownum t_count from table_name tb
) ss
where ss.t_count >= @min_value and ss.t_count <= @max_value
其中@min_value和@max_value是你想要得到什麼樣的數據範圍...... 其實它完全可以在內部查詢和臨時表的概念。
這就是爲什麼它能夠在一次拍攝所有數據時提供良好的性能。
什麼RDBMS?什麼定義了結果集的順序?桌子上有主鍵嗎?你真的想要10個不同的結果集或只是某種「組」列嗎? –
你能解釋你爲什麼試圖達到這個目的嗎?是否有結果的分頁 - 如果是這樣的話,因爲有很多好的解決方案... –
'什麼RDBMS ???',基本語法爲SQL-92標準 – mKorbel