难以创建质量和优化 mysql 查询。让我们创建一个包含值的表。
CREATE TABLE flow
(
US1 varchar(20),
US2 varchar(30)
);
INSERT INTO flow
(US1, US2)
VALUES
('rasim', 'tere1'),
('rasim', 'tere2'),
('rasim', 'tere3'),
('rasim', 'tere4'),
('tere1', 'tere5'),
('tere1', 'tere6'),
('tere2', 'tere7'),
('tere3', 'tere8'),
('tere3', 'tere9'),
('tere4', 'tere10'),
('tere5', 'tere11'),
('tere5', 'tere12'),
('tere9', 'tere13'),
('tere9', 'tere14');
我想要达到的目标:
$firstUs = DB::query("SELECT US2 FROM `flow` WHERE US1='rasim'");
while($first = DB::fetch($firstUs)):
$second =(int) // select and count(US2) foreach value where US1 = $first['US2'];
$third =(int) //select and count(US2) foreach value where US1 = $second['US2'];
$four = (int) //select and count(US2) foreach value where US1 = $third['US2'];
endwhile;
$firstUs = 返回 4 个值( tere1, tere2, tere3, tere4 )。我希望脚本计算这些值中的每一个,即来自 US1 的条目数。$second = 返回 2 个值( tere5, tere6 )。在第一个 php while 循环中,计数值为 (2)。如何创建一个好的 mysql 脚本以便它可以工作,如果有很多用户访问这个页面,服务器不会崩溃并且查询速度会低得多。
谢谢
我正在努力实现金字塔计划。其中“rasim”是主要用户名。其中 $second 、 $third 和 $four 是每个级别的 int 用户数。$second 将计算金字塔第二层的所有用户。