0

これらの値を含むUsersテーブルがあります(例では削除されています)。

  • 名前
  • StateProvince
  • 大陸
  • 耐久
  • 知能

基本的に、地域ごとに最高の統計を返すクエリが必要です。あなたが国内で最高の強さ(67)、あなたの都市で最高の耐久性(59)を持っていて、どこでも最高の知性を持っていない場合、私は次の2行の結果が欲しいです:

('Strength'、67、'Country'、'United States')

('Endurance'、59、'City'、'Redmond')

あなたが国で最高の強さを持っているなら、あなたは州/州、郡、そして市でも最高の強さを持っていることに注意してください(しかし私はそれらが結果に戻されないことを望みます)。これはすべて複数のSELECTクエリを使用して実行できますが、効率を上げるために1つのクエリでこれを実行する方法を知りたいです(またはそれが良いアイデアであるかどうか)。ロジックは(擬似コード)のようになると思います:

(SELECT FROM Users ORDERBY Strength WHERE Country ='MyCountry' LIMIT 1)IF Name!='Me'(SELECT FROM Users ORDERBY Strength WHERE StateProvince ='MyState' LIMIT 1)...など

さらに、上記はエンデュランスとインテリジェンスとも連携する必要があります。ありがとう!

4

1 に答える 1

0

このリンクを確認してくださいMySQLcontrol-flow-functions

SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
于 2012-02-03T07:15:11.230 に答える