web-dev-qa-db-ja.com

MySQL偽セレクト

私の目的は、(1,2,3,4,5)、( 'a'、 'b'、 'c'、 'yon' 'などのような値リストから複数の行を取得することです。

mysql> select id from accounts where id in (1,2,3,4,5,6);
+----+
| id |
+----+
|  1 |
|  2 |
|  3 |
|  5 |
|  6 |
+----+
5 rows in set (0.00 sec)
 _

上記のSQLは確かに大丈夫ですが、私の質問は次のとおりです。なしで同じ結果を得る方法はありますか

テーブルの指定?私の目的は、id_setによって行を伝播するためのものです。

もう一つの例:

mysql> select now() as  column1;
+---------------------+
| column1             |
+---------------------+
| 2009-06-01 20:59:33 |
+---------------------+
1 row in set (0.00 sec)

mysql>
 _

この例では、テーブルを指定せずに単一の行の結果を伝播しました。

しかし、(1,2,3,4,5,6)のような文字列から複数の行を伝播する方法は?

23
omg

MySQLにはダミーテーブルがあります。デュアル。しかし、デュアルを使っても何も変わりません(それは便宜上)、確かにこのクエリ作業をしません。

私はあなたがしようとしていることを達成するためのより良い方法があると確信しています。あなたの問題を説明するならば、私たちは助けることができるかもしれません。

6
Can Berk Güder

これはあなたの質問に正確に答えませんが、私はこれがあなたの実際の問題を解決すると思います。

Set @counter = 0; (カウンタとして@counter:= @counter + 1)を選択します。

1
Evert