X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=sql%2Fsql.d%2F075-users-network.sql;h=a4a99583bdfe1bc7a2cd41866b9c66728d0ca5e8;hb=e290c557994ea3531ef87bf2f40ad119af6aa970;hp=cf108c0a9da81bd1a74a96852eb207a39d897a16;hpb=dc35e3289fd4266bb12ed7c6ec5beab02c1a48de;p=brisk.git diff --git a/sql/sql.d/075-users-network.sql b/sql/sql.d/075-users-network.sql index cf108c0..a4a9958 100644 --- a/sql/sql.d/075-users-network.sql +++ b/sql/sql.d/075-users-network.sql @@ -23,11 +23,26 @@ CREATE INDEX #PFX#usersnet_owner_idx ON #PFX#usersnet (owner); CREATE INDEX #PFX#usersnet_target_idx ON #PFX#usersnet (target); CREATE UNIQUE INDEX #PFX#usersnet_owner_target_idx ON #PFX#usersnet (owner, target); +DROP VIEW #PFX#usersnet_widefriend; +CREATE VIEW #PFX#usersnet_widefriend + AS SELECT un.owner, ur.target, ur.friend, count(*) as count + FROM #PFX#usersnet AS un, #PFX#usersnet AS ur + WHERE un.target = ur.owner AND un.friend >= 4 -- 'un' is, at least, our friend + GROUP BY un.owner, ur.target, ur.friend; + +DROP VIEW #PFX#usersnet_narrowfriend; +CREATE VIEW #PFX#usersnet_narrowfriend + AS SELECT un.owner, ur.target, ur.friend, count(*) as count + FROM #PFX#usersnet AS un, #PFX#usersnet AS ur + WHERE un.target = ur.owner AND un.friend >= 5 -- 'un' is, at least, our friend + GROUP BY un.owner, ur.target, ur.friend; + DROP VIEW #PFX#usersnet_wideskill; CREATE VIEW #PFX#usersnet_wideskill AS SELECT un.owner, ur.target, SUM(ur.skill * un.trust) / SUM(un.trust) as skill, count(*) as count FROM #PFX#usersnet AS un, #PFX#usersnet AS ur - WHERE un.target = ur.owner AND un.friend >= 4 -- 'un' is, at least, our friend + WHERE un.target = ur.owner AND un.friend >= 4 -- 'un' is, at least, our friend + AND ur.friend > 2 GROUP BY un.owner, ur.target; DROP VIEW #PFX#usersnet_narrowskill;