MYSQL - >获得每个“小组”的最高价值

时间:2015-01-13 12:16:54

标签: php mysql

我想在每场比赛中得到最短的赔率值 - 或者在这种情况下是最喜欢的

我的数据库看起来像这样

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

然后我可以拉马和时间

3 个答案:

答案 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