我需要对我的大桌子进行分层样本。具体来说,我想从我的表中选择 1/n 行而不带偏见,即随机选择,选择每第 n 行,等等。
在我问这个问题之前,我尝试过这样做。但是,它对我不起作用,因为我使用的是 InfiniDB 引擎,而且正如我后来发现的那样,它不支持子表达式中的变量或类似的东西。有谁知道没有用户变量的方法?
我在想这样的事情:在我的表中,每一行都有一个唯一的字母数字字符串id,它可以看起来像"1234567890"
,或者像"abcdef12345"
。我正在考虑以某种方式将该字符串转换为数字,然后使用模函数从我的表中仅选择 1/n 行。但是,我不知道如何进行转换,因为这个字符串不是十六进制的。
注意:我的表没有自动增量列。