給定一個表Records
與列id int
,Type int
和Name varchar(50)
限制結果記錄,我可以讓搜索查詢,像這樣:平衡不同類型的由TOP 100
SELECT id, Type, Name
FROM Records
WHERE Name LIKE '%Foo%'
要調整的表現的話,我'只想給出有限的結果;目前爲100 - 只需在聲明中添加TOP 100
即可。然而,這可能會導致某些類型的記錄代表性不足或沒有代表所有的,因爲通過如下所示的查詢:
SELECT Type, COUNT(Type) FROM
(SELECT id, Type, Name
FROM Records
WHERE Name LIKE '%Foo%') x
GROUP BY Type
ORDER BY Type
沒有TOP 100
,我可能會得到:
42 5
49 1
50 1
52 1
59 1
76 40
87 567
90 3
...與它:
42 5
49 1
50 1
52 1
59 1
76 26
87 65
這可能會導致用戶的結論是沒有90
類型的記錄存在。
我寧願TOP
表現不同:給我任何類型,其中有一些至少一個結果,然後繼續增加,直到達到計數。例如,42
,76
和87
將具有較少的結果,但會出現90
。
理想情況下,我還想爲用戶提供「此類型的更多結果」UI元素。
我必須完全放棄TOP
才能做到這一點嗎?
如果刪除到100,還有就是你所看到的結果。你想如何結果? – shahkalpesh 2009-07-26 20:10:12
tsql是Transact SQL的常用標記,而不是t-sql。我已修復。 – 2009-07-27 04:50:17