前の行の値を現在の行で合計し、結果をMySQLクロス結合を使用して別の行に表示するにはどうすればよいですか?
まずテーブルを作成しましょう-
mysql> create table DemoTable(Value int); Query OK, 0 rows affected (1.79 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values(50); Query OK, 1 row affected (0.24 sec) mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.68 sec) mysql> insert into DemoTable values(30); Query OK, 1 row affected (0.18 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------+ | Value | +-------+ | 50 | | 20 | | 30 | +-------+ 3 rows in set (0.00 sec)
これは、MySQLで前の行の合計を実行するためのクエリです-
mysql> select t.Value, (@s := @s + t.Value) as Number from DemoTable t cross join (select @s := 0) p order by t.Value;
これにより、次の出力が生成されます-
+-------+--------+ | Value | Number | +-------+--------+ | 20 | 20 | | 30 | 50 | | 50 | 100 | +-------+--------+ 3 rows in set (0.07 sec)
-
MySQLでSUMとFORMATを組み合わせて、結果をフォーマットします
テーブルを作成しましょう- mysql> create table DemoTable1950 ( Amount float ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1950 values(45.60); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable19
-
列値の最初の文字を取得し、MySQLを使用して別の列に挿入します
これには、LEFT()関数の概念を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2036 -> ( -> FirstLetter varchar(20), -> Title varchar(20) -> ); Query OK, 0 rows affected (1.01 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa