質問編集履歴

5

分かりやすいように微修正

2024/01/17 08:58

投稿

daityan
daityan

スコア9

test CHANGED
File without changes
test CHANGED
@@ -33,6 +33,7 @@
33
33
  ### 発生している問題・分からないこと
34
34
 
35
35
  ・SQLでは「sys.all_columns」というテーブルを用いて上記を実現しているようなのですが、MySQLで同じようなことをしたい場合は、どのテーブルを利用するのがよい(おすすめ)でしょうか?
36
+  →補足:おそらくレコード数が899件以上あるためSQL Serverの「sys.all_columns」というテーブルを使っているのかな?と考えています。
36
37
 
37
38
  ※下記のようにするとMySQLでも800番台の値を表示する列を出力可能なのは確認できるたのですが、テーブルのレコード数が899件より少ない場合は実現不可能な想定です。899件以上レコードがあることが(ほぼ)保証されているテーブルなどあればご教授いただけますと幸いです。(MySQLのシステム系テーブルのように最初から用意されているテーブルを使用したいと考えております)
38
39
 

4

分かりづらい記載があったため全体的に修正

2024/01/17 08:56

投稿

daityan
daityan

スコア9

test CHANGED
File without changes
test CHANGED
@@ -2,8 +2,7 @@
2
2
  MySQLのSQLで下記のような結果を取得したいです。
3
3
  ※テーブルに事前に下記のようなレコードを格納して結果を取得するのではなく、実データは保持せずにSQLの関数等を利用して出力させたいです。
4
4
 
5
- 取得したい結果
5
+ 取得したい結果■■■■■
6
- ----------
7
6
  Num  ←※ヘッダー
8
7
  800
9
8
  801
@@ -16,8 +15,7 @@
16
15
  898
17
16
  899
18
17
 
19
- 実現させたい理由
18
+ 実現させたい理由■■■■■
20
- ----------
21
19
  SQL Server から MySQLにDBを変更することになりました。
22
20
  SQL ServerのSQLに、下記のような記載があり、動作を見ていると800番台の数値を表示するためのSQLのように思われます。(おそらく)
23
21
  そのため、MySQLでも同じように800番台の数値を表示する列の出力方法を知りたいです。
@@ -34,11 +32,16 @@
34
32
 
35
33
  ### 発生している問題・分からないこと
36
34
 
37
-
38
-
39
35
  ・SQLでは「sys.all_columns」というテーブルを用いて上記を実現しているようなのですが、MySQLで同じようなことをしたい場合は、どのテーブルを利用するのがよい(おすすめ)でしょうか?
40
36
 
37
+ ※下記のようにするとMySQLでも800番台の値を表示する列を出力可能なのは確認できるたのですが、テーブルのレコード数が899件より少ない場合は実現不可能な想定です。899件以上レコードがあることが(ほぼ)保証されているテーブルなどあればご教授いただけますと幸いです。(MySQLのシステム系テーブルのように最初から用意されているテーブルを使用したいと考えております)
41
38
 
39
+ ```
40
+ SET @num = 799;
41
+
42
+ SELECT @num := @num + 1 FROM テーブル名
43
+ ※「テーブル名」にはレコード数が899件以上ある必要がある
44
+ ```
42
45
 
43
46
  ### 該当のソースコード
44
47
 
@@ -53,8 +56,7 @@
53
56
  - [ ] その他
54
57
 
55
58
  ##### 上記の詳細・結果
56
- 調べて分かっていること
59
+ 調べて分かっていること■■■■■
57
- ------------
58
60
  ・「ROW_NUMBER」関数はMySQLでは使用できないこと。
59
61
    →代わりにユーザ定義変数などを利用して実現する必要があること。
60
62
 

3

タイトルの修正

2024/01/17 08:47

投稿

daityan
daityan

スコア9

test CHANGED
@@ -1 +1 @@
1
- MySQLのSQLで「800番台の数値を表示する」列を出力する方法およびどのシステム系のどのテーブルを利用するのが望ましいかについて
1
+ MySQLのSQLで「800番台の数値を表示する」列を出力する方法およびシステム系(既存)のどのテーブルを利用して実現するのが望ましいかについて
test CHANGED
File without changes

2

タイトルの修正

2024/01/17 08:41

投稿

daityan
daityan

スコア9

test CHANGED
@@ -1 +1 @@
1
- MySQLのSQLで「800番台の数値を表示する」列を出力する方法(およびどのシステム系のテーブルを利用するのが望ましいかについて)
1
+ MySQLのSQLで「800番台の数値を表示する」列を出力する方法(およびどのシステム系のどのテーブルを利用するのが望ましいかについて)
test CHANGED
File without changes

1

タイトルの修正

2024/01/17 08:40

投稿

daityan
daityan

スコア9

test CHANGED
@@ -1 +1 @@
1
- MySQLのSQLで「800番台の数値を表示する」列を出力する方法について
1
+ MySQLのSQLで「800番台の数値を表示する」列を出力する方法(およびどのシステム系のテーブルを利用するのが望ましいかについて
test CHANGED
File without changes