左外连接内的排序依据给出随机结果
Order By inside a left outer join giving random results
我无法对左外连接 table 进行排序。结果应该是 3900000
但是我只能对 players
table 而不是加入的 table price
进行排序
SELECT price FROM price where id = 301;
+---------+
| price |
+---------+
| 100000 |
| 3900000 |
+---------+
如下所示,目前我的查询返回的是最低价格。在这个例子中,我希望结果是 3900000
。
SELECT t.price FROM players s LEFT OUTER JOIN price t on t.id = s.id where t.id = 301 group by s.id order by s.rating desc, t.bod desc;
+---------+
| price |
+---------+
| 100000 |
这在 MySQL 中可行吗?
我想你想要 MAX()
:
SELECT MAX(t.price)
FROM players s
LEFT OUTER JOIN price t on t.id = s.id
WHERE t.id = 301
或者更简单地说:
SELECT MAX(price)
FROM price
WHERE id = 301
我怀疑 price
中的列名应该是 player_id
而不是 id
我无法对左外连接 table 进行排序。结果应该是 3900000
但是我只能对 players
table 而不是加入的 table price
SELECT price FROM price where id = 301;
+---------+
| price |
+---------+
| 100000 |
| 3900000 |
+---------+
如下所示,目前我的查询返回的是最低价格。在这个例子中,我希望结果是 3900000
。
SELECT t.price FROM players s LEFT OUTER JOIN price t on t.id = s.id where t.id = 301 group by s.id order by s.rating desc, t.bod desc;
+---------+
| price |
+---------+
| 100000 |
这在 MySQL 中可行吗?
我想你想要 MAX()
:
SELECT MAX(t.price)
FROM players s
LEFT OUTER JOIN price t on t.id = s.id
WHERE t.id = 301
或者更简单地说:
SELECT MAX(price)
FROM price
WHERE id = 301
我怀疑 price
中的列名应该是 player_id
而不是 id