

テーフ゛ル「tb」です。
mysql> SELECT * FROM tb;
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| A103 | 101 | 4 |
| A102 | 54 | 5 |
| A104 | 181 | 4 |
| A101 | 184 | 4 |
| A103 | 17 | 5 |
| A101 | 300 | 5 |
| A102 | 205 | 6 |
| A104 | 93 | 5 |
| A103 | 12 | 6 |
| A107 | 87 | 6 |
+------+------+------+
10 rows in set (0.01 sec)
以上ですが上記のテーフ゛ル「tb」をコピーしてテーフ゛ル「tb_zyun;」
を新たに作成しました。その後サブクエリを利用して
・[uria]を「降順に並べ替え」た
・「zyun」を追加して「順位」を付けました。
mysql> SELECT * FROM tb_zyun;
+------+------+------+------+
| bang | uria | tuki | zyun |
+------+------+------+------+
| A101 | 300 | 5 | 1 |
| A102 | 205 | 6 | 2 |
| A101 | 184 | 4 | 3 |
| A104 | 181 | 4 | 4 |
| A103 | 101 | 4 | 5 |
| A104 | 93 | 5 | 6 |
| A107 | 87 | 6 | 7 |
| A102 | 54 | 5 | 8 |
| A103 | 17 | 5 | 9 |
| A103 | 12 | 6 | 10 |
+------+------+------+------+
10 rows in set (0.00 sec)
-----------------------------------
以上で質問があります。
下記が サブクエリの「作業の流れ」ですが③で質問があります。
①のテーブル「tb_zyun」はテーブル[tb]をコピーしているので、
カラム [ bang | uria | tuki ]は存在しているにも関わらずに
なんで、 ③で再度存在する{[bang][uria][tuki]を「tb_zyun」に挿入}している
のでしょうか?
INSERT INTOで挿入しています。
INSERT INTO tb_zyun
(bang,uria,tuki)
サブクエリと「テーブル「tb_zyun」」は切り離して考えないといけ
ないのでしょうか?
よろしくお願いいたします。
作業の流れ
①テーブル[tb]のカラム構造だけをコピーしてテーブル「tb_zyun」を作成する。
書式:CREATE TABLE tb_zyun LIKE tb;
②「tb_zyun」に「連続番号期のを持つカラム[zyun]を加える」
書式:ALTER TABLE tb_zyun ADD zyun INT AUTO_INCREMENT PRIMARY KEY;
ここから問題です。
③サブクエリを使い、テーブル「tb」をカラム「uria」の降順に並べ替え、
[bang][uria][tuki]を「tb_zyun」に挿入する
③で、カラム[zyun]には連続番号が自動的に入力され、これが順位になる。
④ 次を実行する。
INSERT INTO tb_zyun
(bang,uria,tuki)
(SELECT
bang,uria,tuki
FROM tb
ORDER BY uria DESC);
No.2ベストアンサー
- 回答日時:
質問の意図がわかりかねますが
tbにはレコードの順位がない(RDBにはレコードに優先順位という
概念がない)ので、順位をつけたいなら別のテーブルにデータを
流し込んで任意の連番をつけたらいいのでは?
という提案だと思います
No.1
- 回答日時:
西沢夢路「基礎からのMySQL 第3版」のp.230のあたりの話ということなので、著者に直接質問してみては。
https://r.binb.jp/epm/e1_59074_15092017175021/
想像するに、話の流れで、それを使ってるだけかと。技術的には、どうにでもなると思います。
ご解答くださいましてありがとうございます。
そうです、西沢さんの書籍はわかりやすい
です。
さてその書籍に
コピーの種類が3種類紹介してありました。
①テーフ゛ルのカラム構造+データのコピー
②テーフ゛ルのカラム構造だけコピー「(LIKE) 質問内容に該当」
③テーフ゛ルのみコピー
今回は②のなので
INSERT INTO tb_zyun
(bang,uria,tuki)
が成り立つ
納得です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
- ドライブ・ストレージ NASの容量と ホルダーの プロパティの サイズと ディスク上のサイズの違い 1 2022/10/03 13:41
- Excel(エクセル) xlDownの使い分けについての質問です vbaでxlDownを使って一覧近い空白までのセルをコピー 3 2022/08/04 12:20
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルの列数を調べたい
-
betweenを使うyyyy/mm/ddでの範...
-
group byで最後のレコードを抽...
-
MYSQLで小数点を表示する場合と...
-
同一日に複数レコードがある場...
-
他のシートの検索
-
INDIRECT関数の代替方法は?
-
MySQLのauto incrementについて
-
DB2(OS/390)のSECQTYについて
-
一部のカラムでdistinctし全て...
-
DBの定義のサイズを大きくし過...
-
BULK INSERT時のNull許容について
-
SELECT文で、指定カラム以外の...
-
1000件以下の場合はカラム数に...
-
Accessで文字列の一部を抽出す...
-
値が 18446744073709551615 ...
-
AUTO_INCREMENTに0はダメ?
-
LIKEの右側にカラムを指定でき...
-
'PRIMARY KEY'と'UNIQUE()'の違...
-
MySQLで論理名を取得する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの列数を調べたい
-
同一日に複数レコードがある場...
-
group byで最後のレコードを抽...
-
[MySQL]LOAD DATA INFILE一部レ...
-
MySQL 改行コードを含む文字列...
-
MYSQLで小数点を表示する場合と...
-
select * での表示が崩れる?
-
MySQL AUTO_INCREMENTが最大に...
-
WHEREなどの条件が多い場合、ど...
-
フレンドリストのようなものを...
-
betweenを使うyyyy/mm/ddでの範...
-
[MYSQL]日付のカラムにデーター...
-
時間範囲が重複したレコードを...
-
VB.NETでSQL-SERVERにクエリを...
-
MySQLについて
-
MySQLでカラム内の値の先頭の数...
-
mysqlで年と月を別々のカラムに...
-
whereの使い方が分からないので...
-
データベースについて
-
MySQL テーブルの一部のカラム...
おすすめ情報