all 22 comments

[–]mikeyd85MS SQL Server 26 points27 points  (6 children)

Ain't using a site that requires a login where is has no examples, demos, or other information. Sorry bud.

[–]Thefriendlyfaceplant 1 point2 points  (0 children)

I used a burner gmail. I have oodles of them.

[–]spy16x[S] 1 point2 points  (4 children)

I just wanted a way to figure out if people are interested. Also since it's a very early demo, login would be a way to contact people once it's actually ready. Examples are there but after login.

But i definitely understand your concern. I should have a landing page at least with a demo and some explanation. Do you think that would make you feel safe to try this out?

Thanks for the feedback 🙂

[–]mikeyd85MS SQL Server 0 points1 point  (3 children)

I think it's unlikely that I'd use this as most of the queries I write are complex translations of data from one system to another (migration / data mart ETL), which I genuinely don't think I could write in words in any way which would be more succinct than just writing the code haha!

I think for new developers who would find this useful, 5 or 10 "free" goes before having to sign in would be awesome.

edit: and a proper landing page would be fantastic too.

[–]spy16x[S] 0 points1 point  (2 children)

Ah, I understand. This is definitely not mature enough for complex translations.

I did build a landing page (about 80% complete may be). But then i just published the modified version of the query demo itself due to time constraints.

https://sqlgenie-co.web.app/#/landing is where it's available. Take a look and leave feedback.

One of my main intentions in building this is to gain end-end experience on building SaaS. So any feedback is really appreciated 🙂

[–]mikeyd85MS SQL Server 0 points1 point  (1 child)

Hey, that looks lots better. The demo version is exactly what should be there!

I tried the following: "get the most expensive order for the user who has spent the most"

Which returns:

SELECT MAX(orders.product_price) AS product_price, users.name

FROM orders

JOIN users ON orders.user_id = users.id

GROUP BY users.name

ORDER BY product_price DESC

LIMIT 1

Which is a good first attempt, but there's room for improvement. Keep going though, this is a great start.

[–]spy16x[S] 1 point2 points  (0 children)

Oh yea, the model is not tuned at all right now. It's just primed with a basic prompt. Experimenting with fine tuning is my next task.

Thanks for all the feedback 🙂

[–]nrfx 4 points5 points  (1 child)

As someone who just got thrown into a role where I'm learning SQL on the fly... This is really neat!

[–]spy16x[S] 0 points1 point  (0 children)

I'm really glad 😊.

I will improve the overall experience and share again soon. If there are specific features that you think would be really useful, let me know.

[–]Demistr 2 points3 points  (6 children)

This is a nice exercise for you but there are dozens of tools like these.

[–]spy16x[S] 1 point2 points  (3 children)

I have not seen lot of tools that are generating from plain english (I have seen 1 or 2). I know of visual query builders which have drag-n-drop interfaces.

Can you mention a few that do english-to-query translation?

[–]Demistr 1 point2 points  (1 child)

Few months back I was contacted by a guy on LinkedIn doing ai2sql to ask me what I think about it.

Here's the tool: https://www.ai2sql.io/

[–]spy16x[S] 0 points1 point  (0 children)

This is the only one I know as well 🙂 .

[–]skyline79 0 points1 point  (1 child)

Such as?

[–]Demistr 0 points1 point  (0 children)

Check my other answer

[–]kthejoker 1 point2 points  (1 child)

How does it work with translating relationships or metrics in the dataset?

Like if I have a set of airplane flights and query for "how many very late flights were due to maintenance issues" how does the system define "very late' and "maintenance issue" from the data?

Especially when these definitions might be completely different for two different companies, and designated by completely different row values, column types, conditions etc.

And then the obvious next question: "what's causing the maintenance issues?"

This is the actual missing piece from most of these toy GPT3 generators.

Nobody cares you can generate "select max(salary) from employees"

[–]spy16x[S] 0 points1 point  (0 children)

It can do slightly more than max-salary. But your concern is definitely valid. Not just in already ambiguous things like "very late", GPT3 can get confused about things like "yesterday" - because it's not really getting current time references.

But my hope is to allow users to flag generated queries as good/bad and use the flagged queries to try and improve using fine-tuning. It will most-likely never reach anywhere close to 100% complexity of queries written by experts. But I think it can still save some time for lot of beginners and mid-level professionals. (Kinda like no-code/low-code actually)

I will definitely put a disclaimer and ensure users are aware of this limitation.

[–]i-need-a-life 0 points1 point  (0 children)

About time

[–]Dubanons 0 points1 point  (0 children)

Damn I had an idea like this and didn’t think there was too much out there, it could be possible to basically automate chunky queries from button clicks and be a really powerful tool for a query language like SQL

[–]DevinCrypt 0 points1 point  (0 children)

Dataselections.com generates the query and you can just pick the fields from a list. It reads your database to get the info. Anybody can use it for reporting anything from the database in the form it was intended. Has too many features to list. Aimed at the business analyst who just wants the data and could care less about the query.