From cf4d627f6b2a3a9877d53b202ca51693b53b86b9 Mon Sep 17 00:00:00 2001 From: zhangxu <738285867@qq.com> Date: Fri, 7 Oct 2016 17:02:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E6=8D=A2python3=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=87=B3python2=EF=BC=8C=E6=9B=B4=E6=94=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROCEDURE.sql | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 PROCEDURE.sql diff --git a/PROCEDURE.sql b/PROCEDURE.sql new file mode 100644 index 0000000..c6764f8 --- /dev/null +++ b/PROCEDURE.sql @@ -0,0 +1,53 @@ +亲密度分析 存储过程: +CREATE DEFINER=`root`@`localhost` PROCEDURE `getIntimacy`(userid BIGINT(20),number INT(5)) +BEGIN +CREATE TEMPORARY TABLE IF NOT EXISTS intimacy (qq BIGINT(20),cnt INT(5)); +DELETE FROM intimacy; +INSERT INTO intimacy SELECT al.qq,COUNT(1) cnt FROM ((SELECT come_id qq FROM fetchQzone_comment WHERE to_id=userid) + UNION ALL (SELECT to_id qq FROM fetchQzone_comment WHERE come_id=userid))al GROUP BY qq ORDER BY cnt DESC LIMIT number; +SELECT qq,cnt,fetchqzone_nick.nick FROM intimacy JOIN fetchqzone_nick ON qq=guest_id GROUP BY qq ORDER BY cnt DESC; + END$$ +DELIMITER ; +二度人脉分析 存储过程: +CREATE DEFINER=`root`@`localhost` PROCEDURE `SecMai`(userid VARCHAR(20)) +BEGIN + CREATE TABLE IF NOT EXISTS mate(qq BIGINT(20) ); + DELETE FROM mate; +INSERT INTO mate SELECT DISTINCT qq FROM (SELECT come_id qq FROM fetchqzone_comment WHERE `to_id`=userid AND come_id!=to_id UNION SELECT `to_id` qq FROM fetchqzone_comment WHERE `come_id`=userid AND come_id!=to_id ) AS fr ; +CREATE TEMPORARY TABLE IF NOT EXISTS Secmate (qq BIGINT(20) ); +DELETE FROM Secmate; +INSERT INTO Secmate SELECT DISTINCT come_id qq FROM fetchqzone_comment WHERE `to_id` IN (SELECT qq FROM mate); +INSERT INTO Secmate SELECT DISTINCT `to_id` qq FROM fetchqzone_comment WHERE `come_id` IN (SELECT qq FROM mate); +CREATE TEMPORARY TABLE IF NOT EXISTS Secmai(qq BIGINT(20) ); +DELETE FROM Secmai; +SELECT DISTINCT qq ,ni.nick FROM Secmate JOIN fetchqzone_nick ni ON qq=ni.guest_id WHERE qq NOT IN (SELECT qq FROM mate) GROUP BY qq ; + END$$ +DELIMITER ; +两人交互分析 存储过程: +sql_comment=" CREATE TEMPORARY TABLE tmp_comment select parent_id,come_id,to_id,info,time,rootID from fetchQzone_comment where (come_id=%s and to_id=%s) OR (come_id=%s and to_id=%s ) order by parent_id,IDinFeed "%(user,friend,friend,user) + sql_feed=" CREATE TEMPORARY TABLE tmp_feed SELECT fe.info,UNIX_TIMESTAMP(fe.`time`),userID_id,feedID, ni.`nick` come_nick FROM fetchQzone_feed fe JOIN tmp_comment ON parent_id=feedID JOIN fetchQzone_nick ni ON guest_id=userID_id group by feedID ORDER BY userid_id, fe.`time` DESC LIMIT %s,%s ;"%(start,num) +sql_CommenttoRe="select parent_id,come_id,to_id,tmp_comment.info,tmp_comment.time,rootID,(select nick from fetchQzone_nick where guest_id=come_id limit 1) as come_nick,(select nick from fetchQzone_nick where guest_id=to_id limit 1) as to_nick from tmp_comment,tmp_feed where parent_id=feedID order by feedID;" +sql_FeedtoRe="select * from tmp_feed" + +活动时间分析存储过程: + + +CREATE DEFINER=`root`@`localhost` PROCEDURE `timeanaly`(userid BIGINT(20)) +BEGIN + SELECT ti,SUM(cnt) cnt FROM (SELECT DATE_FORMAT(TIME, ' %H ') ti,COUNT(*) cnt FROM fetchqzone_feed WHERE userID_id=userid AND TIME IS NOT NULL GROUP BY DATE_FORMAT(TIME, ' %H ') + UNION SELECT DATE_FORMAT(comm.TIME, ' %H ') ti,COUNT(*) cnt FROM fetchqzone_comment comm WHERE come_id=userid AND comm.TIME IS NOT NULL GROUP BY DATE_FORMAT(comm.TIME, ' %H '))al GROUP BY ti; + END$$ +DELIMITER ; +共同好友分析存储过程: +CREATE DEFINER=`root`@`localhost` PROCEDURE `comFri`(user1 BIGINT(20),user2 BIGINT(20)) +BEGIN +CREATE TABLE IF NOT EXISTS mate(qq BIGINT(20) ); +DELETE FROM mate; +INSERT INTO mate SELECT DISTINCT qq FROM (SELECT come_id qq FROM fetchqzone_comment WHERE `to_id`=user1 AND come_id!=to_id UNION SELECT `to_id` qq FROM fetchqzone_comment WHERE `come_id`=user1 AND come_id!=to_id ) AS fr ; +CREATE TEMPORARY TABLE IF NOT EXISTS Secmate (qq BIGINT(20) ); +DELETE FROM Secmate; +INSERT INTO Secmate SELECT DISTINCT to_id qq FROM fetchqzone_comment WHERE come_id=user2 AND `to_id` IN (SELECT qq FROM mate) ; +INSERT INTO Secmate SELECT DISTINCT come_id qq FROM fetchqzone_comment WHERE to_id=user2 AND `come_id` IN (SELECT qq FROM mate); +SELECT DISTINCT qq,nick FROM Secmate JOIN fetchqzone_nick ON guest_id=qq WHERE qq!=user1 AND qq!=user2 GROUP BY guest_id ; + END$$ +DELIMITER ;