Mira

Counting things in groups

Intro to SQL. Live learners, anonymised answers from everyone who took this before, and partners Mira plays from those same patterns. You can see which is which.

In the room

2 live8 from the archive2 played by Mira
AAmalivePPriyaliveJJonasMiraPPa practice partnerMiraARan analyst at a retailerarchiveFSsomeone in their first SQL weekarchiveMLa marketer learning to self-servearchiveLTsomeone from a logistics teamarchivePMa product managerarchiveDAa data apprenticearchive+2 from the archive

Live poll

47 answers · stacked live, archive, and Mira

You ask for orders where the channel is not email. Thousands of rows vanish. Where did they go?

“If they vanished they must have been email all along. The filter caught them.”

a data apprentice · 7 found this useful

“If the cell is empty it didn't happen, so it's a zero, right? That's how every spreadsheet I've used works.”

someone in their first SQL week · 19 found this useful

“Unknown isn't false. The filter only keeps a row when the test is definitely true. A blank channel isn't 'not email' — it isn't anything. That's why 4,000 people dropped out of our campaign report.”

an analyst at a retailer · 48 found this useful

“Zero spend is a fact: they bought nothing. Missing spend is we never wrote it down. Only one of those can go in a total. I lost a board slide to that.”

a founder doing their own reporting · 31 found this useful

“There's a bug in the filter. Missing isn't email, so those rows should stay. I'd file a ticket.”

a product manager · 8 found this useful

Vote to add yourself to the live tally.

Breakouts to join

Mira seats you with someone holding a named wrong idea — a live peer, an echo replayed from the archive, or a partner she plays herself.

AI-facilitated1 seat left

Talk Jonas out of empty meaning zero

Jonas thinks “empty means zero, or means an empty bit of text”

MiraMira facilitating
Join the call
Echo replay1 seat left

Replay: a filter that keeps the benefit of the doubt

a product manager thinks “a filter keeps a row unless it clearly fails the test”

archiveMira facilitating
Join the call
Live1 seat left

Priya still wants every column after grouping

Priya thinks “I can still ask for any column I like once I have grouped”

liveMira facilitating
Join the call
AI-facilitated1 seat left

Talk Jonas out of LIMIT making it faster

Jonas thinks “keeping only five makes the query faster because it stops early”

MiraMira facilitating
Join the call

From the archive

Comments, votes, and the wording that actually landed — anonymised, and still in the room.

AR
an analyst at a retailerarchiveexplanation4 days ago

“Vanishing rows first. That's the one that bit our campaign report — nothing errored, the number was just too small.”

ML
a marketer learning to self-servearchivequestion4 days ago

“Is grouping just a pivot table? I already do that in a spreadsheet.”

DA
a data apprenticearchivewrong idea5 days ago

“If they vanished they must have been email all along. The filter caught them.”

PM
a product managerarchivewrong idea2 days ago

“There's a bug in the filter. Missing isn't email, so those rows should stay. I'd file a ticket.”

A
Amalivequestionnow

“I'm in the lesson now — so the blanks failed the 'not email' test?”

ML
a marketer learning to self-servearchivequestion3 days ago

“I asked for orders that are not email. The blanks aren't email. Why do they vanish too?”

AR
an analyst at a retailerarchiveexplanation3 days ago

“Unknown isn't false. The filter only keeps a row when the test is definitely true. A blank channel isn't 'not email' — it isn't anything. That's why 4,000 people dropped out of our campaign report.”

LT
someone from a logistics teamarchive2 days ago

“That's the one that landed for me. I had been treating blanks like they failed the test. They didn't fail. They never got a chance.”

FS
someone in their first SQL weekarchivewrong idea4 days ago

“If the cell is empty it didn't happen, so it's a zero, right? That's how every spreadsheet I've used works.”

FR
a founder doing their own reportingarchiveexplanationyesterday

“Zero spend is a fact: they bought nothing. Missing spend is we never wrote it down. Only one of those can go in a total. I lost a board slide to that.”

DA
a data apprenticearchivequestionyesterday

“Once I've stacked the rows by channel, can I still ask for the customer name? It's right there in the table.”

RF
someone retraining from financearchiveexplanation12 hours ago

“Forty names in that stack. Which one should it show you? Once they're stacked, the only things with one clear value are what you grouped by and the number you worked out.”

FS
someone in their first SQL weekarchivewrong ideayesterday

“LIMIT 5 makes it faster because it stops after five, right? Less comes back so less work happened.”

LT
someone from a logistics teamarchiveexplanation12 hours ago

“To know which five are biggest it has to work out all of them and put them in order first. Then it throws the rest away. Same two moves as keeping the closest few pages.”

PM
a product managerarchivequestion8 hours ago

“I keep wanting SELECT * after the group. The editor is yelling and I don't know which line is the actual idea.”

A
Amalivequestionnow

“Does ORDER BY happen before or after the group? I keep reading it top to bottom.”

FR
a founder doing their own reportingarchiveexplanation6 hours ago

“WHERE channel != 'email' — that's the same trap as the 4,000. I'd reject this. The total will go quietly small and nothing will error.”

DA
a data apprenticearchivewrong idea6 hours ago

“I'd have approved this. It looks right. Email is gone, the totals still add up on screen.”

LT
someone from a logistics teamarchiveexplanationyesterday

“The wording that landed for me: unknown isn't false. Say that at work and people stop treating blanks like zeroes.”