cool_query.py 783 B

12345678910111213141516171819202122
  1. import model
  2. model.connect()
  3. model.cursor.execute('''
  4. SELECT
  5. username,
  6. SUM(CASE -- sum score for each of the users ownables
  7. WHEN ownership.ownable_id = ? THEN ownership.amount
  8. ELSE ownership.amount * (SELECT price
  9. FROM transactions
  10. WHERE ownable_id = ownership.ownable_id
  11. ORDER BY dt DESC
  12. LIMIT 1)
  13. END
  14. ) score
  15. FROM users, ownership
  16. WHERE ownership.user_id = users.rowid
  17. AND users.username != 'bank'
  18. GROUP BY users.rowid
  19. ''', (model.currency_id(),))
  20. print(model.cursor.fetchall())