在MYSQL中对2列使用MAX
我有表在MYSQL中对2列使用MAX,mysql,Mysql,我有表赔率: id |主场|客场|球队|活动|日期|主场|价格|客场|价格|赌注|联盟|id 我正试图为每场比赛获得max(主场价格)、max(客场价格)和赌注: select max(home_price), max(away_price), bookie from odds where league_id=1 group by home_team, away_team, event_date 我无法让它显示max(home\u price)和max(away\u price) 我知道我
赔率:
id |主场|客场|球队|活动|日期|主场|价格|客场|价格|赌注|联盟|id
我正试图为每场比赛获得max(主场价格)
、max(客场价格)
和赌注:
select max(home_price), max(away_price), bookie
from odds where league_id=1
group by home_team, away_team, event_date
我无法让它显示max(home\u price)
和max(away\u price)
我知道我必须使用“组标识符”,但我无法工作
我想要的结果是:
最高(主场价格)|投注商最高(主场)价格|最高(客场)价格|投注商最低(主场)价格
您可以使用相关子查询来获取bookie
值:
SELECT home_price,
(SELECT bookie
FROM odds AS o1
WHERE league_id = 1 AND
o1.home_price = o.home_price AND
o1.home_team = o.home_team AND
o1.away_team = o.away_team AND
o1.event_date = o.event_date
ORDER BY bookie LIMIT 1) AS bookie_home,
away_price,
(SELECT bookie
FROM odds AS o2
WHERE league_id = 1 AND
o2.away_price = o.away_price AND
o2.home_team = o.home_team AND
o2.away_team = o.away_team AND
o2.event_date = o.event_date
ORDER BY bookie LIMIT 1) AS bookie_away,
home_team, away_team, event_date
FROM (
SELECT
MAX(home_price) AS home_price,
MAX(away_price) AS away_price,
home_team,
away_team,
event_date
FROM odds
WHERE league_id = 1
GROUP BY home_team, away_team, event_date ) AS o
< P> < /P>请编辑您的问题,包括示例数据和期望结果。如果您愿意,请考虑以下简单的两步过程:1。如果您还没有这样做,请提供适当的DDL(和/或SqLFIDLE)。因此,我们可以更轻松地复制问题。2.如果您还没有这样做,请提供与步骤1中提供的信息相对应的所需结果集。是的,很抱歉,这是sqlfiddle:,我试图做的是获取具有最大值(home_price)的赌注和具有最大值(away_price)的赌注如果有多家博彩公司拥有相同的max(客场价格)
?这不是问题,如果有2家博彩公司拥有相同的max(客场价格),我只需要打印1:)