Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

az-index.sql 1.4 KB

You have to be logged in to leave a comment. Sign In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  1. CREATE INDEX IF NOT EXISTS az_rating_user_idx ON az_ratings (user_key);
  2. CREATE INDEX IF NOT EXISTS az_rating_asin_idx ON az_ratings (asin);
  3. ANALYZE az_ratings;
  4. DROP TABLE IF EXISTS az_users CASCADE;
  5. CREATE TABLE az_users (
  6. user_id SERIAL PRIMARY KEY,
  7. user_key VARCHAR NOT NULL,
  8. UNIQUE (user_key)
  9. );
  10. INSERT INTO az_users (user_key) SELECT DISTINCT user_key FROM az_ratings;
  11. ANALYZE az_users;
  12. INSERT INTO isbn_info (isbn, book_id)
  13. SELECT asin, nextval('synthetic_book_id_seq') * 3
  14. FROM az_ratings
  15. LEFT JOIN isbn_info ON (asin = isbn)
  16. WHERE book_id IS NULL;
  17. REFRESH MATERIALIZED VIEW isbn_book_id;
  18. ANALYZE isbn_info;
  19. ANALYZE isbn_book_id;
  20. REFRESH MATERIALIZED VIEW ol_book_first_author;
  21. ANALYZE ol_book_first_author;
  22. DROP VIEW IF EXISTS az_book_info;
  23. CREATE VIEW az_book_info
  24. AS SELECT DISTINCT ib.book_id AS book_id, asin, author_id, author_name, author_gender
  25. FROM az_ratings JOIN isbn_book_id ib ON (asin = isbn)
  26. LEFT OUTER JOIN ol_book_first_author USING (book_id)
  27. LEFT OUTER JOIN ol_author USING (author_id)
  28. LEFT OUTER JOIN author_resolution USING (author_id);
  29. DROP VIEW IF EXISTS az_export_ratings;
  30. CREATE VIEW az_export_ratings
  31. AS SELECT user_id, book_id, MEDIAN(rating) AS rating, COUNT(rating) AS nratings
  32. FROM az_ratings
  33. JOIN az_users USING (user_key)
  34. JOIN isbn_book_id ON (asin = isbn)
  35. GROUP BY user_id, book_id;
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...