How To Structure A Lotto Database To Enable Complex SQL Queries


Most lotto researchers know that large numbers of lottery combinations create a major challenge in developing the right structure of database to cope with complex queries. An added problem is in developing systems to analyse hot numbers from previous results.

For example, restricting the value of prime numbers and identifying consecutive balls might require different database structures as it may not be practical to identify prime numbers through the simplicity of SQL code.

This is because although lines will have different numbers, identical data definitions will apply. How your database is designed can either enhance or inhibit your ability to develop complex SQL queries on lottery data.

The Prime Lotto System As An Example Of Querying A Database

The popular “Prime system”, which comprises 2 primes, 1 non prime odd and 3 even numbers provides an excellent case study.

In my SQL Server database, the structure of the prime system combinations is like this:

Prime,Prime, Non-prime odd,Even,Even,Even



The table holds nearly 600,000 possible combinations and is efficient for identifying and restricting each number type. For example, to set the second prime to either 7 or 29, the SQL query would look like this:

n2=7 or n2=29

But what if I wanted to ensure the first number was 6? The problem is that 6 would never be the first ball as it is not a prime number.

Making Your Lotto Queries More Flexible By Creating A New Table

One solution is to create a second table with the structure you need. In this case the example line “2,5,9,4,8,28” becomes “2,4,5,8,9,28”. This means more complex queries can be defined. This approach is simply looking at the same data from a different angle.

  • Restricting number groupings such as “1,3,4”
  • Consecutive prime and non-prime numbers
  • Spread of numbers across different decile groups

I’ve now got two separate data files that structure the numbers in separate ways. The new structure enables a more flexible approach with an option of using one or both tables in SQL queries. It should be possible to write queries that will search all the data for lines that meet more flexible and comprehensive parameters.


This article has introduced the concept of separate data tables to enable more flexible SQL queries on lottery data. With a little thought and original thinking complex lotto research studies can be developed and deployed.

Leave a Reply

Your email address will not be published. Required fields are marked *