Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
postgresql中的bucket_Sql_Postgresql_Bucket - Fatal编程技术网

postgresql中的bucket

postgresql中的bucket,sql,postgresql,bucket,Sql,Postgresql,Bucket,有谁能告诉我如何在PostgreSQL中制作大小相等的存储桶吗。例如,我有ID:12345678910112131415 现在我想制作3个大小相等的存储桶,这样将有3个存储桶,每个存储桶包含5条记录,如下所示: 我建议ntile(): 注意:如果磁贴的数量不除以记录的数量,则这些磁贴的大小将尽可能相等。我建议ntile(): 注意:如果磁贴的数量不除以记录的数量,则这些磁贴的大小将尽可能相等。谢谢您的回答。我尝试过这个方法,但是如果磁贴的数量不除以记录的数量,那么这个方法就不能提供相同大小的存储

有谁能告诉我如何在PostgreSQL中制作大小相等的存储桶吗。例如,我有ID:12345678910112131415

现在我想制作3个大小相等的存储桶,这样将有3个存储桶,每个存储桶包含5条记录,如下所示:


我建议
ntile()


注意:如果磁贴的数量不除以记录的数量,则这些磁贴的大小将尽可能相等。

我建议
ntile()


注意:如果磁贴的数量不除以记录的数量,则这些磁贴的大小将尽可能相等。

谢谢您的回答。我尝试过这个方法,但是如果磁贴的数量不除以记录的数量,那么这个方法就不能提供相同大小的存储桶。我想要大小相等的桶,不管瓦片的数量是否除以记录的数量。@VijayKumarKhatri。在问题中,你没有解释桶的数量不等于行的数量,我找到了解决办法选择FLOOR((a.id-1)/5)+1作为bucket,a.cid,name from customer a order by bucket,cid'这将使每个bucket的id大小为5bucket@VijayKumarKhatri . . . 如果ID有间隙,这是不起作用的。是的,但是对于上面的问题,这很好。此解决方案是为顺序ID定制的。谢谢您的回答。我尝试过这个方法,但是如果磁贴的数量不除以记录的数量,那么这个方法就不能提供相同大小的存储桶。我想要大小相等的桶,不管瓦片的数量是否除以记录的数量。@VijayKumarKhatri。在问题中,你没有解释桶的数量不等于行的数量,我找到了解决办法选择FLOOR((a.id-1)/5)+1作为bucket,a.cid,name from customer a order by bucket,cid'这将使每个bucket的id大小为5bucket@VijayKumarKhatri . . . 如果ID有间隙,这是不起作用的。是的,但是对于上面的问题,这很好。此解决方案是为顺序ID定制的。
select t.*,
       ntile(3) over (order by id) as bucket
from t;