Явно бросаю его как double
double g = 1.0/3.0
Это происходит потому, что Java использует операцию целочисленного деления для 1
и 3
, так как вы ввели их как целые константы.
Если можно использовать псевдослучайную выборку, и Вы находитесь на SQL Server 2005/2008, то смотрите на TABLESAMPLE. Например, пример от SQL Server 2008 / AdventureWorks 2008, который работает на основе строк:
USE AdventureWorks2008;
GO
SELECT FirstName, LastName
FROM Person.Person
TABLESAMPLE (100 ROWS)
WHERE EmailPromotion = 2;
выгода - то, что TABLESAMPLE не точно случаен, поскольку он генерирует данное количество строк от каждой физической страницы. Вы не можете возвратить точно 5 000 строк, если Вы не ограничиваете с TOP также. Если Вы находитесь на SQL Server 2000, Вы оказываетесь перед необходимостью или генерируете временную таблицу, которые соответствуют первичному ключу, или Вы оказываетесь перед необходимостью делать это с помощью метода с помощью NEWID ().
Вы изучили использование пункта TABLESAMPLE?
, Например:
select *
from HumanResources.Department tablesample (5 percent)
Да, tablesample является Вашим другом (обратите внимание, что это не случайно в статистическом значении слова): Tablesample в msdn