socek

Untitled

Apr 27th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.30 KB | None | 0 0
  1. log.info('Selecting how many PageViews has a user')
  2.     query = (
  3.         connection.query(
  4.             User.email,
  5.             func.count(distinct(Session.id)).label('ses_count'),
  6.             func.count(PageView.id).label('pv_count'),
  7.         )
  8.         .join(Session)
  9.         .join(PageView)
  10.         .group_by(User.email)
  11.         .all()
  12.     )
  13.  
  14. log.info('Selecting how many PageViews has a user grouped by url')
  15.     query = (
  16.         connection.query(
  17.             User.email,
  18.             PageView.url,
  19.             func.count(distinct(Session.id)).label('ses_count'),
  20.             func.count(PageView.id).label('pv_count'),
  21.         )
  22.         .join(Session)
  23.         .join(PageView)
  24.         .group_by(User.email, PageView.url)
  25.         .order_by(User.email)
  26.         .all()
  27.     )
  28.  
  29. log.info('Selecting users which came to /two url more then 19000 times ')
  30.     row = func.count(PageView.id)
  31.     query = (
  32.         connection.query(
  33.             User.email,
  34.             PageView.url,
  35.             row.label('pv_count'),
  36.         )
  37.         .join(Session)
  38.         .join(PageView)
  39.         .group_by(User.email, PageView.url)
  40.         .order_by(User.email)
  41.         .filter(
  42.             PageView.url == '/two',
  43.         )
  44.         .having(
  45.             "pv_count" > 19000
  46.         )
  47.         .all()
  48.     )
Advertisement
Add Comment
Please, Sign In to add comment