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 980 B

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
  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_bookid (isbn, book_id)
  13. WITH bad_isbns AS (SELECT DISTINCT asin
  14. FROM az_ratings br
  15. WHERE NOT EXISTS (SELECT * FROM isbn_bookid ib WHERE ib.isbn = br.asin))
  16. SELECT asin, nextval('synthetic_book_id') FROM bad_isbns;
  17. ANALYZE isbn_bookid;
  18. DROP VIEW IF EXISTS az_all_ratings;
  19. CREATE VIEW az_all_ratings
  20. AS SELECT user_id, book_id, MEDIAN(rating) AS rating, COUNT(rating) AS nratings
  21. FROM az_ratings
  22. JOIN az_users USING (user_key)
  23. JOIN isbn_bookid ON (asin = isbn)
  24. 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...