this post was submitted on 27 Dec 2023
542 points (96.7% liked)

Programmer Humor

19572 readers
870 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Primarily0617@kbin.social 29 points 10 months ago (21 children)

if you don't believe that adding more structure to the absolute maniacal catastrophe that is sql is a good thing then i'm going to start to have doubts about your authenticity as a human being

[–] QuazarOmega@lemy.lol 2 points 10 months ago* (last edited 10 months ago) (13 children)

Me trying to remember on whose output data having, count, sum, etc. work

Once you know functions you would have no reason to go back.
I propose we make SQL into this:

const MAX_AMOUNT = 42, MIN_BATCHES = 2

database
    .from(table)
    .where(
        (amount) => amount < MAX_AMOUNT,
        table.field3
    )
    .select(table.field1, table.field3)
    .group_by(table.field1)
    .having(
        (id) => count(id) >MIN_BATCHES
        table.field0
    )

(Sorry for any glaring mistakes, I'm too lazy right now to know what I'm doing)

..and I bet I just reinvented the wheel, maybe some JavaScript ORM?

[–] marcos@lemmy.world 3 points 10 months ago (5 children)

Well, if you lose the OOPism of those dots, we can talk.

Anyway, I'm really against the "having" tag. You need another keyword so that you can apply your filter after the group by?

[–] physicswizard@lemmy.ml 1 points 10 months ago (1 children)

Boy then are you going to hate QUALIFY

[–] marcos@lemmy.world 2 points 10 months ago

Yes, I do. It's a lot of effort and hidden functionality to try to paper over the fact that the statements do not compose.

load more comments (3 replies)
load more comments (10 replies)
load more comments (17 replies)