Thank you for the feedback.
The SQL parsing is home made and I assumed fields in the order by clause is also a part of the SELECT.
I collect a window of failed queries in memory (without knowing who sent what) to find cases like this and fix them.
For replay-ability.
Each time you need to understand the problem and construct a query instead of remembering that the answer was X (when I prototyped this in some of the cases you needed to pick the right answer from a cell in the table, not submit the whole thing).
The cases are randomly generated; It asks for unique values of a random column in a random table. Sometimes it asks for unique password hashes... It's an edge case I didn't account for.
The first two are cases of selecting the whole table.
Since it's (completely) randomised, there is a chance of getting the same table twice. I didn't account for that :-P
If you solve it again, you'll get a new case following that.
I was aiming for a feeling of dealing with real data (even though it's not). Changing the email domain names to fictitious ones will solve this, but I think would undermine the feeling of real-ness.
Thanks!
The game is still in development.
It covers SELECT, DISTINCT, FROM (with one table), ORDER BY, LIMIT in the free part.
After buying a license, WHERE, IN, BETWEEN, AND and OR are also covered.
Check out the guide tab in the game - it covers everything supported so far.
I plan on adding support for GROUP BY, aggregate functions, HAVING, aliases, JOINING multiple tables, and some more stuff with more complex cases to match.
The 6 months countdown doesn't begin until the game development ends so you're enjoying longer access.
Currently the first rank is 11 cases, and the second rank is 20 additional cases. The second rank covers WHERE with numbers, strings, dates and timestamps, IN, BETWEEN, AND and OR. Check out the guide tab in the game - it covers everything supported so far. Once you finish that, you go into practice mode where you're randomly asked the same kind of cases like the previous ones.
I plan on adding support for GROUP BY, aggregate functions, HAVING, aliases, JOINING multiple tables, and some more stuff with more complex cases to match.
And the 6 months countdown doesn't begin until the game development ends so you're enjoying longer access.
Yeah, the semicolon bothers me too. I'll see how I can incorporate that in.
The clicking around was meant to make life easier on mobile phone users. I'll see if I can add a keyboard support without undermining this.
Currently the first rank is 11 cases, and the second rank is 20 additional cases.
The second rank covers WHERE with numbers, strings, dates and timestamps, IN, BETWEEN, AND and OR.
Check out the guide tab in the game - it covers everything supported so far.
Once you finish that, you go into practice mode where you're randomly asked the same kind of cases like the previous ones.
I plan on adding support for GROUP BY, aggregate functions, HAVING, aliases, JOINING multiple tables, and some more stuff with more complex cases to match.
And the 6 months countdown doesn't begin until the game development ends so you're enjoying longer access.
Everything is randomised, nothing is based real data. It's auto generated from popular first names, last names, changing patterns and random years or numbers attached at the end. Domains are real, but randomised as well.
It wasn't meant to work on mobile devices. It can and everything work as expected besides the fact that you must have a fully functional keyboard to use it and learn VIM.
Your fingers should stay on JKL;. Going left involves lifting your index finger and moving it the the left, pressing H, and returning it back to J. When you're more proficient in VIM, you usually don't use h much, but ^ or 0 or T or F or b, lots to choose from :)
I fixed the 30 characters issue to allow up to 70 characters. And you may also use + signs in emails. The SMTP error doesn't occur anymore, and even when there was an error the email was still subscribed so no need to resubscribe again.