グラフを描き続ける(SQL)


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を使う場面で役に立つことはないでしょう。やりすぎだし

キミならどう書く 2.0 – ROUND 3 –