如题
count( * ) referuser 推荐加入的用户ID
1 2
2 3
3 NULL 我用存储过程的cursor 取得上面记录集,怎么样才能将指针先移到 3,NULL 即最后一条记录上(该记录为汇总记录),然后再移到第一条记录上,开始repeat
count( * ) referuser 推荐加入的用户ID
1 2
2 3
3 NULL 我用存储过程的cursor 取得上面记录集,怎么样才能将指针先移到 3,NULL 即最后一条记录上(该记录为汇总记录),然后再移到第一条记录上,开始repeat
解决方案 »
- 帮忙看看一个mysql存储过程的错误
- 在 Mysql 语句中使用 concat 的问题
- ifnull是postgresql自带的function吗?
- myisam的key_buffer是如何工作的?
- MYSQL有没有类似于MS SQL的IDENTITY_INSERT命令》
- 奇怪的WinMysqladmin问题??!!
- 请问以下,我现在要对mysql数据库中的多个表进行初始化数据,该怎么办?
- 推荐几本学习SQL Server的好书吧!
- 如何显示SQL查询进度
- 关于left join on 的问题
- jsp向mysql里插入中文(繁体 )
- 求一个MYSQL自动备份的代码,要求第二次开始备份时以递增方式备份!
create procedure get_recommend_score(in user_id int,in direct_param flaot,in indirect_param float,out total_score int)
begin
declare done int default 0;
declare tmp_score int 10;
declare tmp_user_id int 10;
declare cur2 cursor for select count(*),referuser from liv_user where referuser in (select user_id from liv_user where referuser=user_id) group by referuser
WITH ROLLUP;
declare continue handle for sqlstate '02000' set done = 1;
select count(*) into total_score from liv_user where referuser= user_id;
total_score = total_score*direct_param;
repeat
open cur2;
fetch cur2 into tmp_score;
close cur2;
until done end repeat ;
tmp_score = tmp_score * indirect_param;
end这是代码
那个统计是rollup 添加上来的,只能在最后一样,如果单独读总计,要多查询数据库啊