1、创建三张测试表,
为石狮等地区用户提供了全套网页设计制作服务,及石狮网站建设行业解决方案。主营业务为网站设计制作、成都做网站、石狮网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
create table pw_memberinfo(uid int, name varchar(20));
create table pw_members(companyid int, uid int);
create table pw_memberdata(uid int, deposit int, ddeposit int, money int);
2、三张表,分别插入测试数据,
insert into pw_members values(1, 1);
insert into pw_members values(1, 2);
insert into pw_members values(1, 3);
insert into pw_memberinfo values(1, 'name_1');
insert into pw_memberinfo values(2, 'name_2');
insert into pw_memberinfo values(3, 'name_3');
insert into pw_memberdata values(1,30,50,150);
insert into pw_memberdata values(2,77,50,12);
insert into pw_memberdata values(3,44,50,82);
3、查看pw_memberdata表中的记录,select * from pw_memberdata t,
4、编写sql语句,
select * from (SELECT i.uid, sum(deposit+ddeposit+money) as allmoney
FROM pw_memberinfo i
LEFT JOIN pw_members m ON m.uid=i.uid
LEFT JOIN pw_memberdata d ON i.uid=d.uid
group by i.uid
) t where allmoney200
select B,sum(C),sum(D),sum(E),sum(F),G from DDD where group by (B,G)
保准正确得到你想要的!
表结构如下
order by 默认以升序进行排列
mysql 对于多重排序的处理是从左到右,也就是说先根据条件1进行排序、出现了相同的情况再去执行条件2进行排序
表结构如下
在进行 group 进行分组时,只能显示用于分组的字段
计算出每个分组的个数
对每个分组中数据的 sum 字段进行求和
对每个分组中数据的 avg 字段进行求平均数
T是表,G是组,V是值:
分组、求和、求最大值:select G,MAX(SUM(V)) V1 from T group by G;
求比值:
select T.G,SUM(T.V)/A.V1
from T,
(select G,MAX(SUM(V)) V1 from T group by G) A
where T.G=A.G
group by T.G;
试试看,我没测试。
select (select avg(sales) from 表名 b where (a.date-b.date) between 0 and 20) as [前20日平均销量],* from 表名 a