您的位置:首页 > 数据库 > MySQL

mysql自定义存储过程

2015-10-20 18:49 701 查看
创建存储过程

DELIMITER $$

CREATE  PROCEDURE  user_sum()
BEGIN

INSERT INTO  t_user_sum(userId,cId,readCount,collCount,shareCount,commCount,learnTime,ctime,pushId,pointCount)
SELECT  t1.userId,t1.courseId AS cId,COUNT(t2.id) AS readCount ,COUNT(t3.id) AS collCount ,COUNT(t4.id) AS shareCount ,COUNT(t5.commId) AS commCount ,
IFNULL(SUM(t2.longTime),0) AS learnTime   ,SYSDATE() AS ctime ,t1.cPushId AS pushId,COUNT(t6.praiseId) AS pointCount
FROM push_course_class_user_view t1
LEFT JOIN t_user_read  t2 ON t1.userId = t2.userId AND t1.courseId = t2.cId AND t2.startTime LIKE  CONCAT(LEFT(SYSDATE(),10),'%')
LEFT JOIN t_collection t3 ON t1.userId = t3.userId AND t1.courseId = t3.targetId AND t3.targetType = 3 AND t3.cTime LIKE  CONCAT(LEFT(SYSDATE(),10),'%')
LEFT JOIN t_share t4 ON t1.userId = t4.userId AND t1.courseId = t4.targetId AND t3.targetType = 4 AND t4.ctime LIKE CONCAT(LEFT(SYSDATE(),10),'%')
LEFT JOIN t_push_post_comment_view t5 ON t1.cPushId  = t5.pushId AND t1.userId = t5.userId AND t1.courseId = t5.cId
4000
AND t5.commTime LIKE CONCAT(LEFT(SYSDATE(),10),'%')
LEFT JOIN push_post_praise_view t6 ON t1.cPushId = t6.pushId AND t1.userId = t5.userId AND t1.courseId = t6.cId AND t6.praiseTime LIKE CONCAT(LEFT(SYSDATE(),10),'%')
GROUP BY t1.userId,t1.courseId ,t1.cPushId;

END  $$

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: