我希望编写一个查询,使用
之类的东西选择一定百分比的记录从人们中选择前30%*
随机顺序。
但是如果符合某些标准,我想选择更多人。所以我可能想选择35%的国籍是巴西人和其他一些条件。
最简单的方法是什么?以为我可以使用第二个查询的联合,但可能有几个例外,那么有更好的方法吗?
答案 0 :(得分:0)
您可以使用变量来执行此操作。尝试这样的事情:
DECLARE @RecordsToReturn AS Decimal(16,2);
SET @RecordsToReturn AS (SELECT COUNT(*) FROM YourTable WHERE "Your Column" = 'Some Criteria') * .3
SELECT TOP (@RecordsToReturn) *
FROM YourTable
我面前没有SQL服务器,但这应该根据where条件获得前30%的记录