PHP 中mysql 多表查询..在线求高手。。有分
表user中存放用户信息字段有idname等如idname1张三2李四表main中写入的是操作信息字段有idtime等等如idtime1200130024002300现在...
表user 中 存放 用户信息 字段有 id name 等
如 id name
1 张三
2 李四
表main 中 写入的 是操作信息 字段有 id time 等等
如 id time
1 200
1 300
2 400
2 300
现在想作一个 查询 先查找 user表中 共有多少人 然后 将 user中每个人 的 time 累加 并输出
我用了 for ()
{
for()
}
结果 浏览器无响应了。。。。求大神帮忙给个完整的 代码思路
for ()
{
查换 user中所有的人 获取 到此人的ID
for()
{
将 user表中获取的的ID 再对应 main表中 查询。
}
}
这样 数据量太大。。页面 反映不过来了。。。。求大神啊。 展开
如 id name
1 张三
2 李四
表main 中 写入的 是操作信息 字段有 id time 等等
如 id time
1 200
1 300
2 400
2 300
现在想作一个 查询 先查找 user表中 共有多少人 然后 将 user中每个人 的 time 累加 并输出
我用了 for ()
{
for()
}
结果 浏览器无响应了。。。。求大神帮忙给个完整的 代码思路
for ()
{
查换 user中所有的人 获取 到此人的ID
for()
{
将 user表中获取的的ID 再对应 main表中 查询。
}
}
这样 数据量太大。。页面 反映不过来了。。。。求大神啊。 展开
4个回答
展开全部
用户数:SELECT COUNT(*) FROM user
时间合计:SELECT sum(time) FROM main group by id
下面这个语句一次能搞定,但效率我上估计不是太高
SELECT sum(time) as sum_time,(select COUNT(*) FROM user) as user_num FROM time group by id
时间合计:SELECT sum(time) FROM main group by id
下面这个语句一次能搞定,但效率我上估计不是太高
SELECT sum(time) as sum_time,(select COUNT(*) FROM user) as user_num FROM time group by id
追问
如果我查的是每一个 有人 总 TIME 呢?我应该用哪钟循环
追答
SELECT sum(time) FROM main group by id
输出的就是每个人的总TIME
SELECT sum(time) as sum_time,(select COUNT(*) FROM user) as user_num FROM time group by id
这个也是运行后会把相同人的time累计,不需要循环的。
展开全部
这样行不行
select
id,name,(select sum(time) from main where main.id =user .id) as time
from user
select
id,name,(select sum(time) from main where main.id =user .id) as time
from user
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你的数据非常大,无论用什么样的联合查询都会导致服务器无响应。这样的查询一般都要分页,每个分页做分页统计,避免因为数据流量大导致服务器无响应
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select a.name ,sum(b.time) from user a left join main b on a.id = b.id group by a.id
一句话就ok了
一句话就ok了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询