当前位置:数据库 > MySQL >>

如何在mysql中实现药物配方的最优匹配查询

首先向关注这个帖子的朋友们拜年!祝大家身体健康!龙年行好运!发大财! 我的工作是实验不同的的药物配方(这个帖子是在办公室发的,大年初一还在加班),每一个配方会用到十几种不同的药物,同时每一个配方都有它的实际检测结果,检测结果包含十几种不同的指标,因此我做了三个表:表A用来存储每一个配方中使用的不同的药物名称,表B用来存储每一个配方中所使用的药物的剂量比例,这两张表AB可以组成药物的配方。第三个表C存储了每一个药方的实际检测结果,这三个表通过主键进行链接。 现在我们已经做了上万次试验了,原来我们每设计出来一个配方都要手动到数据库里面查找与其最相近的历史配方,但是由于现在数据量太大了,希望设计一个查询,能够实现匹配最优的记录的排序或筛选,主要包含三个方面:依次满足1、首先,筛选出实际检测结果与设计配方最匹配的一组记录(难点在每一个配方有十几种不同的检测结果,好在可以根据它们的重要程度进行取舍),2、其次,在1的基础上筛选出所使用的药物中与设计配方中重合最多的一组记录(难点是每一种药物都很重要,无法取舍),3、最后,在2的基础上筛选出使用的重合药物剂量比例与设计配方中最匹配的一组记录(难点同2)。注:标注红色的“一组”最好能定义成员的数量。 我刚学mysql不久,上面的是我一些不成熟的思路,希望各位高手多多帮忙,如何用查询语句实现?或者提出更好的宝贵意见!
答案:我的情况是初一好无聊。据说,明天给我安排了妹子相亲,唉,正烦。
回正题:
1.你应该是直接在word拷贝过来的。呵呵。还有,你怎么好像在做反向工程?
2.单靠mysql是不太适合的。结合php等编程语言建立合适的操作界面,应该会事半功倍。不期望一个mysql查询进行了三步走实现查询,可以借助php帮你计算,查询三次,或者更容易。
3.其实你说的,问题都不在mysql上,而是你在权衡判断上,哪些配方与哪些相近,这需要你将这个变为数学问题,计算机更多的是帮你做数值上的判断,统计,你可以想想你是否还能告诉计算机,哪些是更为重要的)
4.在你第一个描述中体现取舍和重要性。可以用多选框和文本输入框(用来加权)来实现。
5.每一步骤的一组的数量,自定义,很容易实现,你的这个数不会很大吧,这个最后的查询效率比较重要,不过才10000多条测试记录,不会太慢,你这种情况让查询稍微慢点应该都无所谓。
6.我觉得你的要求都比较好实现,我的想法不是通过一句mysql查询语句就解决啊。而且数据库结构可能需要改改,改了之后,计算机的计算,排序才会更容易。

上一个:MYSQL 怎么不能使用 LIMIT ?
下一个:2个sql同步 我一个网站2个空间 一个在国外一个国内 如何实现mysql同步呢?我用的虚拟空间

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,