MySQLの複数の列から値を計算する方法は?
複数の列から値を計算するには、GROUPBYを使用します。以下は構文です-
select yourColumnName1,sum(yourColumnName2*yourColumnName3) AS anyAliasName from yourTableName group by yourColumnName1;
まずテーブルを作成しましょう-
mysql> create table calculateValueDemo -> ( -> Id int, -> ProductPrice int, -> ProductWeight int -> ); Query OK, 0 rows affected (0.56 sec)
以下は、挿入コマンド-
を使用してテーブルにレコードを挿入するためのクエリです。mysql> insert into calculateValueDemo values(100,35,5); Query OK, 1 row affected (0.16 sec) mysql> insert into calculateValueDemo values(101,50,3); Query OK, 1 row affected (0.16 sec) mysql> insert into calculateValueDemo values(100,100,4); Query OK, 1 row affected (0.17 sec) mysql> insert into calculateValueDemo values(101,500,2); Query OK, 1 row affected (0.22 sec)
以下は、selectステートメント-
を使用してテーブルのすべてのレコードを表示するためのクエリです。mysql> select * from calculateValueDemo;
これにより、次の出力が生成されます-
+------+--------------+---------------+ | Id | ProductPrice | ProductWeight | +------+--------------+---------------+ | 100 | 35 | 5 | | 101 | 50 | 3 | | 100 | 100 | 4 | | 101 | 500 | 2 | +------+--------------+---------------+ 4 rows in set (0.00 sec)
複数の列から値を計算するためのクエリは次のとおりです-
mysql> select Id,sum(ProductPrice*ProductWeight) AS Total from calculateValueDemo group by Id;
これにより、次の出力が生成されます-
+------+-------+ | Id | Total | +------+-------+ | 100 | 575 | | 101 | 1150 | +------+-------+ 2 rows in set (0.00 sec)
-
MySQLの2つの列から最大値で並べ替える方法は?
まずテーブルを作成しましょう- mysql> create table DemoTable834( Value1 int, Value2 int ); Query OK, 0 rows affected (1.50 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable834 values(10,20); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable834 va
-
単一のMySQLクエリで複数の列の列タイプを変更するにはどうすればよいですか?
1つのMySQLクエリで複数の列の列タイプを変更するには、構文は次のとおりです- alter table yourTableName modify column yourColumnName 1 yourDataType1, modify column yourColumnName 2 yourDataType2, . . N; まずテーブルを作成しましょう- mysql> create table DemoTable ( Id varchar(100), FirstName text, LastName t