Skip to main content

Hobby coding project - Queries for play whe data


I have an interest in open data and being able to query that data and gain beautiful insights. One data set that would be interesting is the play whe results data. Our open data is lacking in Trinidad and I will try to contact NLCB to see if they can provide and maintain the data online. But in the meanwhile I will use randomised data to create the website and do my testing.

First thing I did was install sqlite on termux

pkg update && pkg upgrade
pkg install sqlite
sqlite3 --version

Create my database in my project folder

sqlite3 results.db

Useful commands

.exit
.quit

Exit from multiline prompt

;

SQL to create my table (create_tbl_results.sql)

CREATE TABLE DrawResults (
    DrawNo INTEGER PRIMARY KEY,                           DrawDate DATE,
    ResultNo INTEGER CHECK (ResultNo BETWEEN 1 AND 36),
    DrawTime INTEGER CHECK (DrawTime BETWEEN 1 AND 4)
);

SQL to create the random data (random.sql)

WITH RECURSIVE numbers(n) AS (
    SELECT 1
    UNION ALL
    SELECT n + 1
    FROM numbers
    WHERE n < 10000
)
INSERT INTO DrawResults (DrawNo, DrawDate, ResultNo, DrawTime)
SELECT
    n AS DrawNo,

    -- Start at 2010-01-01 and advance 1 day every 4 draws
    date('2010-01-01', '+' || ((n - 1) / 4) || ' days') AS DrawDate,

    -- Random number from 1 to 36
    (abs(random()) % 36) + 1 AS ResultNo,

    -- DrawTime cycles 1 to 4
    ((n - 1) % 4) + 1 AS DrawTime
FROM numbers;

SQL to query the top 10 called numbers (query_top10.sql)

SELECT
    ResultNo,
    COUNT(*) AS ResultCount
FROM DrawResults
GROUP BY ResultNo
ORDER BY ResultCount DESC
LIMIT 10;

Commands to run the sql (setup.sh)

rm results.db
sqlite3 results.db < create_tbl_results.sql
sqlite3 results.db < random.sql
sqlite3 results.db < query_top10.sql

Start the database from scratch in termux

chmod +x setup.sh
./setup.sh

Next up in next blog post is to create a website to display the results that will eventually be live on github pages

Update - website has been started here - https://hassan-theitguy.github.io/play-whe-queries/

Comments

Popular posts from this blog

Giving

It is 237pm and I have decided to write. I drank a strong cup of coffee. It is hot outside but cool inside in the AC. I have no topic but I feel like writing. I love giving charity. Who knows it, feels it. The world would be a much better place if we all shared with one another. If we helped one another. If we only take as much as we need and leave the rest for others. If we prioritised needs over wants. We are going to leave it all behind when we die. We cannot carry anything into the grave except our deeds. One of the easiest ways to give money to charities is through SMS codes. The telecoms should have a system in place where charitable causes can sign up for an SMS code to accept donations. Long ago I remember seeing the donation tins at the supermarket. We should have more of those. I think more people would give more if they were presented with more opportunities to give. The nlcb booths could be outlets for making donations. Linx machines could be points for making donations. AT...

Technology in Trinbago

It is 205am and I have decided to write. I was doing some research and trying to update myself on what is happening in the tech space in Trinidad and Tobago. Nothing stood out in particular. I went looking at what other Caribbean countries were doing that we could adopt. I think there are opportunities in that. Then I decided to focus my energy on coming up with a list of things I think could be done with tech in Trinbago. 1. Feeding a startup culture. Ease of doing business. Make it easy to start and run a business. Support for businesses that earn foreign exchange. 2. Launch the work from home policy. 3. Have a similar policy for online schooling and home schooling. 4. Tech literacy focusing on cybersecurity and keeping safe online. 5. What would it take to get Paypal and CashApp supported here? 6. Support and encouragement for tech bloggers and tech youtubers. 7. More hackatons and a yearly developer survey. 8. Facilitating contact and communication between local techies and big tec...

A simple prayer

It is 200pm and I have started to write again. I abandoned my last blog post. I did not know what to write. I still do not know what to write about but I am still going to write anyway. I was thinking. What if there was a clock where a day was 100 hours and an hour was 100 minutes, what would be the current time in Trinidad according to that clock? 58.82 would be the time according to my friend — 5+8+8+2 = 23. 58.33 would have been the time I started — 5+8+3+3 = 19. If you are familiar with my writing you know that 19 and 23 comes from my book Love Letters. Nice but what to write about? I was thinking about a simple prayer. What would be a simple prayer? What would be the simplest prayer? My friend says that "thank you" is a simple prayer that carries so much weight. What about a prayer that is an acronym of the word simple? That forms a grammatically correct sentence. [insert s word] in my prayer like [insert e word]. Share, save, soul ... ease, every, eternal are some words...