查找基于位置的数据之间的相关性

zzzyeukh  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(371)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

两年前关门了。
改进这个问题
我试图在mysql数据库中找到一些基于位置的数据之间的关联,在mysql数据库中我们存储客户机和合作伙伴的信息。每个客户机都有各自的字段 geo_zip_code 以及 geo_region 每个合伙人都是这样。当客户进入我们的系统时,他们会收到来自三个不同合作伙伴的报价。我想看看客户是否更愿意接受一个合作伙伴处于同一位置的报价 geo_zip_code 或者 geo_region 基于 geo_zip_code 或者 geo_region 表的字段,其中包含客户机和三个合作伙伴之一之间的匹配项。然而,我不知道从哪里开始才能实现这一目标。如果可能的话,我如何在mysql中做到这一点?否则,如果你不想彻底回答,你是非常欢迎指导我的方向,我可以找到如何解决这个信息。另外,如果有可能在tableau或python中这样做,请让我知道。谢谢!

omvjsjqw

omvjsjqw1#

这应该是一个很好的起点。当然,我没有你的桌名。

DECLARE @total_matches INT 
DECLARE @non_matches INT 
DECLARE @region_or_zip_matches INT 
-- this will return a count of all matches 
SELECT @total_matches = COUNT(m.'8')
FROM Matches as m 
-- this will return a count of matches where there is no zip/region match 
SELECT @non_matches = COUNT('8') 
FROM Matches  AS m 
INNER JOIN Clients AS c 
    ON c.client_id = m.client_id
INNER JOIN Partners AS p 
    ON p.partner_id = m.partner_id
WHERE 
AND c.geo_region IS NOT NULL --not null's may be unnecessary based on column criteria. 
AND p.geo_region IS NOT NULL 
AND c.geo_zip_code IS NOT NULL 
AND p.geo_zip_code IS NOT NULL 
AND (c.geo_region != p.geo_region
AND c.geo_zip_code != p.geo_zip_code)

SET @region_or_zip_matches = @total_matches - @non_matches

SELECT (CAST(@region_or_zip_matches AS FLOAT) / CAST(@total_matches AS FLOAT) * 100;

相关问题