テーフ゛ル「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ランキング
-
MYSQLで小数点を表示する場合と...
-
テーブルの列数を調べたい
-
select * での表示が崩れる?
-
group byで最後のレコードを抽...
-
一部のカラムでdistinctし全て...
-
SQLServerでNULLを挿入したいです
-
INDIRECT関数の代替方法は?
-
頭に0が付く文字
-
ドロップダウンリストの連動し...
-
エクセルかワードで家系図を作...
-
日付を一括UPDATE
-
SELECT文で、指定カラム以外の...
-
インデックスを削除したいので...
-
sql , insert で空行(全ての列...
-
連番を振る インデックス 付...
-
JDBCドライバがない?
-
複数カラムに対するLIKE文の最適化
-
カラム上の重複を削除するクエ...
-
(phpMyadminの)インデックスサ...
-
SQL文に間違いがありますでしょ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの列数を調べたい
-
group byで最後のレコードを抽...
-
MYSQLで小数点を表示する場合と...
-
[MySQL]LOAD DATA INFILE一部レ...
-
フレンドリストのようなものを...
-
WHEREなどの条件が多い場合、ど...
-
MYSQLのストアドでの動的SQLに...
-
select * での表示が崩れる?
-
MySQL AUTO_INCREMENTが最大に...
-
MySQL 改行コードを含む文字列...
-
「VARCHAR(255)」を「text」に...
-
MySQL テーブルの一部のカラム...
-
betweenを使うyyyy/mm/ddでの範...
-
MySQLのselect文で、最大ID値の...
-
ここで「INSERT INTO」を使う意...
-
データの暗号化について
-
時間範囲が重複したレコードを...
-
MYSQLのレコードを上書きしたい...
-
誤って削除したIDカラムを復元...
-
INDIRECT関数の代替方法は?
おすすめ情報