0

我有一个包含这些值的用户表(示例中已删除):

  • 姓名
  • 城市
  • 州省
  • 国家
  • 大陆
  • 力量
  • 耐力
  • 智力

我基本上想要一个查询,为您自己返回按地区划分的最高统计信息。如果您在该国拥有最高的力量 (67),在您的城市拥有最高的耐力 (59),而不是任何地方最高的智力,我想要一个 2 行结果:

('实力', 67, '国家', '美国')

('耐力',59,'城市','雷德蒙德')

请注意,如果您拥有全国最高的实力,那么您在州/省、县和市中也将拥有最高的实力(但我希望结果中不要返回)。我可以使用多个 SELECT 查询来完成这一切,但是,我想知道如何在一个查询中执行此操作以提高效率(或者这是否是个好主意?)。我想逻辑会像(伪代码)一样:

(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
于 2012-02-03T07:15:11.230 回答