HN Hall of Fame Weekly email

Q: Run SQL Directly on CSV Files

harelba.github.io Software & code Software projects Software engineering Candidate
Screenshot of harelba.github.io captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 5 calendar years, with breakout response in 3 of them.

submissions
5
submitters
5
observed span
2017–2022
peak thread · 96 comments
284 pts
latest 20+ return · 2022-09-21
190 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

“Any file is a database if you awk hard enough.” —Bryan Horstmann-Allen https://twitter.com/neilkod/status/914217352564137984 Furthermore, no thread on CSV files can be complete without mentioning this infamous bit of fact-trolling: the ASCII standard has had unit- and record-delimiters baked into it from the beginning. https://ronaldduncan.wordpress.com/2009/10/31/text-file-form...

A satisfied user here. Found it very useful when tools like cut and sort weren't enough, usually when I need to do a join on two different tables (err, files). Left joins work, but I don't think right joins are supported. I've used this in combination with jq as well. I'll use jq to convert json to CSV, and then use SQL to do whatever else.

redsaz·190-point thread·

Yesss. Glad to see this getting some love. I use this tool very frequently in my day-to-day and my work would be so much harder without it. A lot of folks mentioning great projects/solutions that work the same but I love me some good unix piping action: cat data.csv | xsv select 1,3 | q 'select * from - where col1 != "foo"' (xsv: also invaluable on the terminal: https://github.com/BurntSushi/xsv)

nkcmr·121-point thread·

well done, I really love the UNIX tiny tools to do things pattern.

chews·11-point thread·

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
3

100+ points or 50+ comments

Total points
610

reference only — not used in Hall rules or ranking

Total comments
219

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2017-08-01Run SQL directly on CSV files with q (text as data)type040
2018-11-14Q: Run SQL Directly on CSV FilesFirst breakout · Best threaddevy28496
2020-10-06Q – Run SQL Directly on CSV or TSV Files: Text as Datapcr910303112
2021-06-07Q – Run SQL Directly on CSV or TSV Filesthunderbong12163
2022-09-21Q – Run SQL Directly on CSV or TSV FilesLatest 20+ point returngjvc19058