MYSQLの新人ですので、私にご負担ください。生成列から値でmysqlテーブルの行を並べ替えます
- が
- モデル
- MPG
- 価格 座席の
- 数
を作り、私が持っている:
私は車についてのデータを格納するCars
と呼ばれるテーブルを持っていますpriority
というテーブルがあります各車の特性が0-5のスケールで私にとってどれほど重要かを考えてください。したがって、この表には、次のようになります。
+-----+-------+-------+ | MPG | Price | Seats | +-----+-------+-------+ | 0 | 2 | 3 | +-----+-------+-------+
私は、各Car
が好きなのためのスコアを生成することができるようにしたい、次のとおりです。
score = (car.MPG * priority.MPG) + (car.Price * priority.Price) + (car.seats * priority.seats)
を、私は基本的にSelect * from cars order by score
をしたいです。しかし、私はどのようにこのクエリを形成するか分からない。
お願いします。
を使用してみてください。スコアリングシステムが複雑になると、それを関数として保存して何とか呼び出せる方法があるのだろうかと疑問に思っていましたか? – user3509258
はい...あなたは 'score'(あなたのパラメータ...(mpg..price ...席...))は、CREATE FUNCTION機能 を作成することができINT が あなたのスコアリングシステムをBEGIN RETURNS ... RETURNS値.. END; ... とあなたのクエリが を選択...この関数を呼び出します*スコア(a.mpg、a.price、a.seats)と – Christian
幸運によって順番車から。この提案 – Christian