MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2989|回复: 9
打印 上一主题 下一主题

新手求指教

[复制链接]
跳转到指定楼层
1#
发表于 2011-9-28 15:16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yuanzai32 于 2011-9-28 15:44 编辑

公司要求做一个周销售排行榜
id     turnover
1       120.00
2        80.00
3         60.00
4           50.00
1        720.00
1           50.00
2           60.00
3           50.00
...
....
.....
要实现最终结果是
id    turnover
1    ....
2    ....
3    ....
4    ....
5   .....
需要用到什么,因为以前确实没接手这个,完全不明白该学习什么,求指教万分感谢

这个因为任务比较赶,只能有针对性的学习,希望各位大大能说下要用到哪些,然后我去学习= =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶1 踩
2#
发表于 2011-9-29 09:45:24 | 只看该作者
一条SQL就应该可以搞定:
select id, sum(turnover) as turnover from table group by id order by id;
3#
发表于 2011-9-30 09:10:19 | 只看该作者
order by id
kider确定 ?
4#
 楼主| 发表于 2011-10-24 16:01:44 | 只看该作者
kider 发表于 2011-9-29 09:45
一条SQL就应该可以搞定:
select id, sum(turnover) as turnover from table group by id order by id;

多谢
5#
 楼主| 发表于 2011-10-24 16:02:08 | 只看该作者
je_ck 发表于 2011-9-30 09:10
order by id
kider确定 ?

多谢!~~

点评

应该是这样,赞成。  发表于 2011-10-24 16:19
6#
 楼主| 发表于 2011-10-27 09:29:32 | 只看该作者
学这个越学越觉得不简单啊,又有问题更新了要麻烦各位了
create procedure ColSalesmanSum(in dateBegin date,in dateEnd date,in dateType varchar(20))

begin
DECLARE amount decimal;
DECLARE Salesman,statDate varchar(128);
DECLARE mark int;

delete from skt68;  //这句起什么用呢
SET mark=0;     

点评

删除表数据  发表于 2011-10-27 10:47
7#
 楼主| 发表于 2011-10-27 09:33:10 | 只看该作者
if (dateType='Year') then
begin
DECLARE curdeal_1 CURSOR FOR
select sum(skt43.skf610),skt57.skf772,CONCAT(YEAR(skt43.skf611)) from skt57 left join (skt43,skt42) on (skt43.skf616//所在合同=skt42.skf587//合同编号 and skt57.skf772//办事处人员编号=skt42.skf589//合同表业务员 and skt43.skf615//来自哪个合同=1 and skt43.skf611//收款时间>=dateBegin and skt43.skf611收款时间<=dateEnd) GROUP BY (CONCAT(YEAR(skt43.skf611))),skt57.skf772//办事处人员编号;
           DECLARE CONTINUE HANDLER FOR NOT FOUND
           SET mark=1;
           open curdeal_1;
           repeat
           FETCH curdeal_1 into amount,Salesman,statDate;
       if(mark < 1)then
         if (Salesman not in ('138','132'))then
         begin
         INSERT INTO skt68 (SKF911,SKF909,SKF910) select tblemployee.Name,statDate,amount from tblemployee where tblemployee.ID=Salesman;
         end;
         end if;
       end if;
       UNTIL mark=1
       end REPEAT;
       CLOSE curdeal_1;      
end;


我理解为是执行这个存储程序就会删除原有的SKT68里面的数据,然后再插入新的数据,是吗

点评

貌似是的。问问你的同事做最后的确认。  发表于 2011-10-27 10:48
8#
 楼主| 发表于 2011-10-31 11:01:49 | 只看该作者
本帖最后由 yuanzai32 于 2011-10-31 11:25 编辑

继续求指教
关于库表主键的自动增长功能
这个功能主要是起什么作用呢,如果我第一次添加主键信息时没添加自动增长,后续怎么设置



补充下:比如  我的表格如下
编号    时间     购买物品    单价   数量  
...             ...              .....             ..        ....



编号为主键 未设置自动增长,感觉我添加数据后,默认只能添加一条,再添加会提示记录已存在。。。是这个自动增长的原因吗



再再补充一点,刚开始编号是设置自动增长的,但是设置后提示1264错误  我查阅发现是字段错误(我设置的为64位整数),更改字段后(为固定128位)然后就提示为1067错误。。。迷茫了。。。而这个数据库已经有的表里面很多其它表编号都是设置的64位整数和固定128位
9#
 楼主| 发表于 2011-10-31 11:10:04 | 只看该作者
另外,咨询下,现在MYSQL认证考试有哪些,和OCA OCP那些差别大吗
另另外,感谢你们团队的精彩回答
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-9-20 00:25 , Processed in 0.283096 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表