Added counts view to schema

This commit is contained in:
2025-09-27 23:30:29 -04:00
parent 9754731068
commit e6eb2807ae
2 changed files with 23 additions and 2 deletions

View File

@@ -39,3 +39,11 @@ SELECT b.prefix, CONCAT(t.last_name, ", ", t.first_name) AS winner_name, t.phone
FROM baskets b LEFT JOIN tickets t FROM baskets b LEFT JOIN tickets t
ON b.prefix = t.prefix AND b.winning_ticket = t.t_id ON b.prefix = t.prefix AND b.winning_ticket = t.t_id
ORDER BY b.prefix, winner_name, t.phone_number, t.preference, b.b_id; ORDER BY b.prefix, winner_name, t.phone_number, t.preference, b.b_id;
CREATE VIEW IF NOT EXISTS counts AS
SELECT prefix, COUNT(*) AS total_sold, COUNT(DISTINCT CONCAT(first_name,last_name,phone_number)) AS unique_sold
FROM tickets
GROUP BY prefix
UNION ALL
SELECT 'Total' AS prefix, COUNT(*) AS total_sold, COUNT(DISTINCT CONCAT(first_name,last_name,phone_number)) AS unique_sold
FROM tickets;

View File

@@ -55,3 +55,16 @@ export const report = sqliteView('report', {
ON b.prefix = t.prefix AND b.winning_ticket = t.t_id ON b.prefix = t.prefix AND b.winning_ticket = t.t_id
ORDER BY b.prefix, winner_name, t.phone_number, t.preference, b.b_id` ORDER BY b.prefix, winner_name, t.phone_number, t.preference, b.b_id`
); );
export const counts = sqliteView('counts', {
prefix: text('prefix'),
total_sold: integer('total_sold'),
unique_sold: integer('unique_sold')
}).as(
sql`SELECT prefix, COUNT(*) AS total_sold, COUNT(DISTINCT CONCAT(first_name,last_name,phone_number)) AS unique_sold
FROM tickets
GROUP BY prefix
UNION ALL
SELECT 'Total' AS prefix, COUNT(*) AS total_sold, COUNT(DISTINCT CONCAT(first_name,last_name,phone_number)) AS unique_sold
FROM tickets;`
)