我想知道是否有一种方法可以选择特定字段的值超过同一字段最大值一半的行。
例如,我们有一个包含 3 个字段(id、name、rate)的结果集,其中 rate 是一个别名。如果最大速率为 70
,则查询应返回所有 rate > 35
的行(35
是 70
的一半).
类似于:
SELECT * FROM (A heavy and large select)as r WHERE r.rate > MAX(rate) / 2
请注意,我不知道最大速率是多少,并且想在单个查询中完成。
更新
main select 是一个非常繁重的查询,而 rate 是一个别名,所以使用 max rate 的子查询需要再次编写那个繁重的查询。
最佳答案
它基本上就像你说的那样编码:
select * from mytable
where rate > (select max(rate) from mytable) / 2:
关于mysql - 选择特定字段的值超过同一字段最大值一半的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14338837/