我想在每场比赛中得到最短的赔率值 - 或者在这种情况下是最喜欢的
我的数据库看起来像这样
Racetime Odds
13:05 2
13:05 2.4
13:05 3
13:05 5
13:30 3
13:30 5
13:30 9
13:30 13.5
14:00 1.14
14:00 1.19
14:00 2
14:00 4
我试图做sql所以它的东西
Select Odds from `tom_cards` where `Odds` < '2.5' Group by Racetime limit 1
但这只是给我1个结果,因为最后的前1名并且我不确定如何分组。我希望的结果是
Racetime Odds
13:05 2
14:00 1.14
然后我可以拉马和时间
答案 0 :(得分:1)
据推测,您需要一个聚合查询:
select racetime, min(odds)
from tom_cards
where odds < 2.5
group by racetime;
注意:将数字常量放入查询时,不需要单引号。如果将赔率存储为字符串 - 这是一个非常非常糟糕的想法 - 那么您需要将它们转换为数字以获得最小值:
select racetime, min(odds + 0)
from tom_cards
where odds + 0 < 2.5
group by racetime;
答案 1 :(得分:0)
Select min(Odds)
from `tom_cards`
Group by Racetime
Having sum(`Odds` < 2.5) > 0
答案 2 :(得分:0)
您必须在查询中进行更改。 请检查这个,如果有任何帮助,请告诉我。
SELECT min(Odds)
FROM tom_cards
GROUP BY Racetime
HAVING SUM(Odds < 2.5) > 0