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 936 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_id (isbn)
  13. SELECT DISTINCT asin
  14. FROM az_ratings WHERE asin NOT IN (SELECT isbn FROM isbn_id);
  15. ANALYZE isbn_id;
  16. DROP VIEW IF EXISTS az_ratings;
  17. CREATE VIEW az_ratings
  18. AS SELECT user_id, COALESCE(cluster, bc_of_isbn(isbn_id)) AS book_id,
  19. MEDIAN(rating) AS rating, COUNT(rating) AS nratings
  20. FROM az_ratings
  21. JOIN az_users USING (user_key)
  22. JOIN isbn_id ON (isbn = asin)
  23. LEFT JOIN isbn_cluster USING (isbn_id)
  24. GROUP BY user_id, COALESCE(cluster, bc_of_isbn(isbn_id));
Tip!

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

Comments

Loading...