Hacker News new | ask | show | jobs
by zasdffaa 1492 days ago
SQL already supports "order by complicated_count". Did you mean group by?

This isn't really the large, convincing example I was looking for btw.

1 comments

Many dialects already support using aliases in GROUP BY and HAVING too, btw.

IMO it's most useful (though somewhat more difficult to implement) to be able to use the aliases with window functions or large case/when statements, something like

   SELECT
     page,
     SUM(clicks) AS total_clicks,
     100. * total_clicks / (SUM(total_clicks) OVER ()) AS click_pct,
     100. * SUM(total_clicks) OVER (ORDER BY total_clicks DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) / (SUM(total_clicks) OVER ()) AS cumulative_click_pct
    FROM weblog
    GROUP BY page;
Interesting, ta. My code rarely looks like that so thanks for the insight. Was exactrly what I was looking for.