複数の行を返すステートメントを使用してMySQLユーザー変数に値を割り当てるとどうなりますか?
複数の行を返すステートメントを使用してユーザー変数に値を割り当てる場合、ユーザー変数は保存できるため、最後の行の値がそのユーザー変数に保存されます。唯一の単一の値。テーブル「Tender」のデータを使用している例に従って、それを表示します-
mysql> select * from Tender; +----+---------------+--------------+ | Sr | CompanyName | Tender_value | +----+---------------+--------------+ | 1 | Abc Corp. | 250.369003 | | 2 | Khaitan Corp. | 265.588989 | | 3 | Singla group. | 220.255997 | | 4 | Hero group. | 221.253006 | | 5 | Honda group | 225.292266 | +----+---------------+--------------+ 5 rows in set (0.04 sec)>
上記の結果セットは、テーブル「入札」のデータを示しています。次に、
で値を割り当てます。mysql> Select @name := companyname from tender; +----------------------+ | @name := companyname | +----------------------+ | Abc Corp. | | Khaitan Corp. | | Singla group. | | Hero group. | | Honda group | +----------------------+ 5 rows in set (0.00 sec)
しかし、この変数を参照すると、最後の行にあった会社の名前のみが示されます。これは、ユーザー変数が単一の値しか格納できないためです。
mysql> Select @name; +-------------+ | @name | +-------------+ | Honda group | +-------------+ 1 row in set (0.00 sec)
-
MySQL IN()を使用して選択した複数の行を表示する
まずテーブルを作成しましょう- mysql> create table DemoTable1045 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(100) )AUTO_INCREMENT=100; Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1045(FirstName) values('
-
MySQLの行を列の値で配列にグループ化しますか?
配列内の行をグループ化するには、ORDER BY句とともにGROUP_CONCAT()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int, -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.78 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert i