私は今これでかなり苦労しています。 私はMySQLデータベースとたくさんのデータを持っています。それは私が大学のために作成しなければならないformula1のウェブサイトです。ストアドプロシージャを呼び出して1でデータベーステーブルを変更する方法
今のところ、j_tracks_rounds_resultsテーブルはデータで埋められていますが、1つのカラムは記入されていません。ランクの列です。
次のように私は、ストアドプロシージャを作成:
DROP PROCEDURE `sp_rank`//
delimiter @@
PROCEDURE `sp_rank`(sid INT)
begin
set @i = 0;
SELECT `performance`, subround_id, @i:[email protected]+1 as rank
FROM `j_tracks_rounds_results`
where subround_id = sid
order by `subround_id`,`performance`;
end
delimiter ;
出力は次のようなものです:
rec.ID PERFORMANCE SUBROUND_ID RANK
87766 100,349114516829 1 1
93040 101,075635087628 1 2
88851 101,664302543497 1 3
それはとてもパフォーマンスにソートし、それに結果や広告ランクを取得します最低パフォーマンスはランク1などを取得します。
私が達成しようとしているのは、ランクをテーブルに戻すことです。列「ランク」のALTERコマンドと同様です。
私はこれをどのように達成できますか?
新しい 'ranking'テーブルの作成は、新しい行が' j_tracks_rounds_results'に挿入されたときに起動するトリガーで実行できます。 – ninesided