SELECT d,RPAD('',20*d/m,'*') n FROM dat, (SELECT MAX(d) m FROM dat) tmp;
MySQLの場合
CREATE TABLE dat (d INT); INSERT INTO dat (d) VALUES (2),(5),(9); SELECT d,RPAD('',20*d/m,'*') n FROM dat, (SELECT MAX(d) m FROM dat) tmp; DROP TABLE dat;
+------+----------------------+ | d | n | +------+----------------------+ | 2 | **** | | 5 | *********** | | 9 | ******************** | +------+----------------------+
この書き方はOracleのマニュアルにも載ってるし、別に新しくないね(MySQL限定ならREPEATでもいい)。
やっていることは、「Excelのグラフを見直す」と同じ。OracleだとINSERTが面倒になるのかな
{2,5,9}のような入力をパースするのもいいんだけど、SQLを使う場面で役に立つことはないでしょう。やりすぎだし