我有一张桌子,上面有城市和人口。我想根据人口进行随机分组

恩里克·基克布施(Henrique Kieckbusch)

我有一个城市表,上面有:“名称”和“人口”。我想随机选择一个城市,但要以人口为基础。

纽约-19.000.000城市2-1.000.000

因此,与“城市2”相比,获得“纽约”的机会要多19倍。

当然,此表有更多城市。

恩里克·基克布施(Henrique Kieckbusch)

埃德·金答案对我没有用。我不知道为什么。

数学上看起来很棒。

但是我在一张桌子上插入了30万个随机城市。大约90%的城市人口最多。这个城市仅占国家总人口的5%。所以我得到了一个非常奇怪的结果。

也许mysql正在缓存RAND()之类的东西..我不知道。

我自己在上面写了这个sql,我的测试是正确的。

   SELECT @som := 0, @sorted := FLOOR( RAND()*(SELECT SUM(population) FROM cities ) );

   SELECT ord.id, ord.initial, ord.final FROM
        (
           SELECT 
               id, @som+1 AS initial, @som := @som + population  AS final 
           FROM cities
        ) ord
   HAVING @sorted
   BETWEEN 
       ord.initial AND ord.final;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我有一张桌子,我想对其进行一些预先计算并以新的形状获得桌子

我在Excel 2007中有一张桌子,我想要一张图表

在一张桌子内,我需要有 thead、tbody 和 tfooter 吗?

我有一张桌子,希望我的描述中显示的结果桌子

我想显示一张桌子上的记录

我加入了两张桌子。我正在尝试按城市分组,但它没有分组

我有一张桌子,但我不确定如何让标题可以滚动

我有一张桌子,我的输出结果如描述中所示

如何在一张桌子上对所有行和组进行计数

为什么我的搜索字段在一张桌子上有效,而在另一张桌子上无效?

我有一张地图,我想按值从中删除条目

我有一张桌子,为什么我的中央单元格比其他单元格长

我有两张桌子(会员和个人)。我想获得一个具有最高职位的人的名字

我想帮忙制作一张可打印1-100的桌子

根据另一张桌子,总共选择2张桌子分组

我曾尝试使用 beautifulsoup 刮一张桌子,但表格中只有一行显示为输出

我该如何在同一张桌子上进行双重连接

我如何订购另一张桌子的查询?

如何修复我的代码以显示一张桌子?

我可以阻止一张桌子更新吗?

火鸟-自我加入一张桌子

我想根据正确或错误条件从一张表更新到另一张表

我应该使用一张桌子还是分成两张桌子?

一张桌子可以有多个模型吗

一张桌子有两个不同的任务

检查只有一张桌子的可用时间?

我在一张桌子上有一百万行。出于性能原因,我被告知在in子句中使用union。是真的吗

为什么我只有一张专辑?

我的桌子上有一个随机的反斜杠