采用PHP+MYSQL
表 company
userid name status
1 天才 1
2 英雄 1
3 鬼才 0表 dp
gid userid sort1 sort2
1 1 4 3
2 2 2 3
3 2 2 1
4 2 3 2
5 2 3 2列出 status=1 的情况下表company中的数据并计算表dp中userid值相同的sort1和sort2的平均值
name avgsort1 avgsort2
天才 4 3
英雄 2.5 2请教高手用SQL语句怎样实现啊???
表 company
userid name status
1 天才 1
2 英雄 1
3 鬼才 0表 dp
gid userid sort1 sort2
1 1 4 3
2 2 2 3
3 2 2 1
4 2 3 2
5 2 3 2列出 status=1 的情况下表company中的数据并计算表dp中userid值相同的sort1和sort2的平均值
name avgsort1 avgsort2
天才 4 3
英雄 2.5 2请教高手用SQL语句怎样实现啊???
解决方案 »
- 各位老师请帮帮忙,急!!急!!急!!!!
- 如何使用PHPExcel生成标题可筛选下拉属性值的xls?感谢
- 老板说:为了管理上的方便,决定把5000000个htm文件放在根目录下,这样会不会影响访问速度呀?
- 请教各们高手,apache配置的问题。
- 如何将数据库中的html代码提取输出成html页面?
- 怎样处理超出规定长度的标题中显示乱码问题??
- 求救:如何读取From传递的循环变量?
- PHP怎样实现网页的无刷新更新,就像有些聊天室中的话语显示窗口,最好有相关代码!(内空)
- php提交form的form老是过期!怎么办
- php使用laravel框架,访问时403错误,根目录定位到public就可以访问了,为什么呢?求解答,谢谢
- 类的继承问题的请教?
- fsockopen与CURL 用哪个更节省服务器资源 效率高?
--测试数据
if Object_id('company') is not null
drop table company
create table company(
id bigint not null,
[name] varchar(50) not null,
state int not null
)
insert into company
select '1','天才','1'
union all
select '2','英雄','1'
union all
select '3','鬼才','0'if Object_id('dp') is not null
drop table dp
create table dp(
gid bigint not null,
id bigint not null,
sort1 float not null,
sort2 float not null
)
insert into dp
select '1','1','4','3'
union all
select '2','2','2','3'
union all
select '3','2','2','1'
union all
select '4','2','3','2'
union all
select '5','2','3','2'
--查询
select a.[name],b.sort1,b.sort2 from ((select * from company where state='1')a left join (select id,avg(sort1*1.0) as sort1,avg(sort2*1.0) as sort2 from dp group by id)b on a.id=b.id)
--结果
天才 4.000000 3.000000
英雄 2.500000 2.000000
SELECT c.*,AVG(d.sort1) avgsort1,AVG(d.sort2) avgsort2
FROM company c,dp d
WHERE c.userid=d.userid AND c.status=1
GROUP BY c.userid;
FROM company, dp
WHERE STATUS =1
GROUP BY dp.userid