sql - 选择 "similar"组 - 从哪里开始概率?

标签 sql postgresql random probability

假设我有一个包含 10.000 行(代表 10.000 人)和以下列的表格:

id    qualification    gender    age    income

当我选择所有具有特定资格的人(比如“管道工”)时,我得到 100 行,具有特定的性别、年龄和收入分布。

我现在要做的是选择某种测试组来检查收入是否受资格或其他属性分布的影响。

这意味着(现在我开始回答我的问题了)我想获得另一组 100 行,具有相同的性别和年龄分布(但资格值不同)。这 100 行当然应该是随机选择的。

我的主要问题是,当我选择随机行时,我不知道如何编写一个 SQL 命令来处理分布(在这种情况下,这当然可以而且也许应该被视为概率)。

提前致谢!

最佳答案

您似乎正在尝试解决与 this extremely thorny problem 密切相关的问题.

该 wiki 页面描述了多种检测数据库相关性的方法,包括对先前 pg-hacker 讨论 (here's another) 的引用、各种(被拒绝的)补丁提案以及讨论该主题的科学论文。

如果这听起来太棘手,我会支持 Catcall 的 pl/r 建议。或其他适用的 pl,就此而言。

顺便说一句,您可能会发现 pg-kmeans 也很有用:

http://pgxn.org/dist/kmeans/doc/kmeans.html

以及 PostStat(我自己从未尝试过):

http://poststat.projects.postgresql.org/

关于sql - 选择 "similar"组 - 从哪里开始概率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6677603/

相关文章:

java - 如何在 HQL 或 JPQL 中使用强制转换?

postgresql - Phoenix 表单验证检查未显示,但来自 postgres 的非空约束

sql - 设置不同数据类型的外键

Javascript 音频在一天中的特定时间播放,并从多个不同的音频中随机选择

javascript - div中的随机图像背景

sql - 如何在具有varchar类型列的表中添加一行,一个带引号的单词?

sql - 从表中获取所有行,其中列仅包含0

postgresql - plpgsql 函数中选择的数据类型并访问其字段

mysql - 随机化大数据集

sql - 如何查找存储在字符串中而不是sql数据表中的值