我有一个包含这些值的User表(示例中去掉了这些值):
基本上,我想要一个查询,按区域返回最高的stat。如果你有全国最高的力量(67),最高的耐力(59)在你的城市,而不是最高的智力在任何地方,我想要两排的结果:
(“实力”,67岁,“国家”,“美国”)
(“耐力”,59岁,“城市”,“雷德蒙德”)
请注意,如果您在全国拥有最高的实力,那么您也将在州/省、县和市中拥有最高的实力(但我希望这些实力不会在结果中被退回)。我可以使用多个SELECT查询来完成这些操作,但是,为了提高效率,我想知道如何在一个查询中做到这一点(或者这是否是一个好主意?)我可以想象这种逻辑会类似于(伪代码):
(从用户ORDERBY强度中选择Country = 'MyCountry‘极限1)如果名称!= 'Me’(从用户ORDERBY强度中选择StateProvince = 'MyState‘限制1)诸若此类
此外,上述还需要与耐力和智力一起工作。谢谢!
发布于 2012-02-03 07:15:11
检查这个链接MySQL控制流函数
SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;https://stackoverflow.com/questions/9123832
复制相似问题