它可能被认为是重复的,但我的问题有点复杂。我有一个包含这些字段的 MySQL 表:
ip | product_id | visits
它显示了一个 ip 访问过产品的次数。我终于想生成一个这样的php数组:
product_rating_for_ip = array(
ip=>array(
product_id=>rating, product_id=>rating, ...
),
ip=>array(
product_id=>rating, product_id=>rating, ...
),
.
.
.
);
评级等于来自某个 ip 的单个产品的访问量除以该 ip 的所有产品访问量的 MAX。例如:
product_rating_for_ip = array(
"78.125.15.92"=>array(
1=>0.8,2=>0.2,3=>1.0
),
"163.56.75.112"=>array(
1=>0.1,2=>0.3,3=>0.5,8=>0.1,12=>1.0
),
.
.
.
);
我做了什么 :
SELECT ip, id, visits, MAX(visits) FROM visit GROUP BY ip
我有性能考虑,我想避免嵌套循环中的 SQL 查询。我认为上面的 SQL 查询是不正确的,因为它没有显示预期的实际结果。