【发布时间】:2019-03-10 03:31:40
【问题描述】:
我的一个熟人询问了一个独特的 SQL 任务。他们是生物技术研究人员,因此不精通 SQL。他们在 Excel 中运行,这限制了他们进行分析的能力,并要求我提供帮助。对于为该解决方案选择方法,我同样感到困惑,即编程方法或数据库查询就足够了。如果,数据库查询,那么它应该是什么?从代码行和 CPU 周期/RAM 消耗的角度考虑这一点,因为这是一个大系统的一小部分。
问题集是关于不同样本之间的匹配。每个样本都有 PrimaryKey : MemberID。每个 MemberID 有 6 个参数分数。每个参数都是唯一的,因此不允许参数之间的交叉匹配。如果参数与其他样本匹配,则得分为 1。最大得分为 6,最小得分为 0。示例集如下:
原始输入是唯一的数据集。我已经将结果集可视化了。
条件如下:
- 特定分数只能与该特定分数匹配。 (即 Score1 只能与其他 Score1 匹配)
- 查找查询显示特定 MemberID 的匹配项,其中显示匹配项 (MemberIDs)(6/6、6/5 等)
- 显示表统计信息的通用查询(总共 6/6 匹配、6/5 匹配等)
- 显示特定匹配(6/6、6/5 或 6/4)等的查询。
我考虑过将数据结构转换为:
然后使用groupby生成结果集。但是这个 3D 集正在融合我的大脑。用于此 MySQL 和 PHP 的技术。对上面指定的结果集有任何帮助吗?
【问题讨论】:
标签: php mysql sql multidimensional-array