###前提・実現したいこと
タイトルの通りですが、
ユーザー定義変数に配列(ベクトル)を代入したいのですが上手く出来ませんでした。
そもそも、スカラー値しか代入できないのでしょうか?
###発生している問題・エラーメッセージ
なし
###該当のソースコード
http://sqlfiddle.com/#!9/18c323/1
テーブル作成
sql
1CREATE TABLE `accounts` ( 2 `user_id` INT(11) NOT NULL AUTO_INCREMENT, 3 PRIMARY KEY (`user_id`) 4) 5COLLATE='utf8_general_ci' 6ENGINE=InnoDB; 7 8/* 1~10 */ 9INSERT INTO accounts(user_id) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
実行するクエリ
sql
1/* query1 */ 2select @user_ids := user_id from accounts order by user_id desc limit 3; 3 4/* query2 */ 5select @user_ids from dual;
query2 の実行結果
txt
18
欲しい query2 の実行結果
txt
110 29 38
###補足情報(言語/FW/ツール等のバージョンなど)
- MariaDB 15.1
追記
一時テーブルを作成する事で欲しい結果を得る方法は分かります。
ユーザ定義変数の公式ドキュメントにも配列(ベクトル)についての記述が無かったので質問しました。
https://mariadb.com/kb/en/library/user-defined-variables/
sql
1drop table if exists tmp_user_ids; 2create temporary table tmp_user_ids(slelect user_id from accounts order by user_id desc limit 3); 3 4select user_id from tmp_user_ids;

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/28 16:24
退会済みユーザー
2017/10/28 22:19