明智重蔵です。

削除予定になった経緯を探してみたら、
かなり近いものがMySQL開発者のブログにありました。
https://mysqlserverteam.com/row-numbering-ranking-how-to-use-less-user-variables-in-mysql-queries/

SELECT @rownum:=(@rownum+1) AS num, name, birthdate
FROM (SELECT @rownum:=0) AS initialization, people
ORDER BY birthdate;

It works. It relies on the fact that MySQL evaluates the content of the derived table named initialization.
But in the future, MySQL may become smarter and say that
"this derived table isn't used by the statement so I can just skip its evaluation".
And it would thus skip the initialization.

将来のMySQLは、initializationという未使用なインラインビューの評価はスキップします。
という、興味深い記述もありますね。