抱歉,如果主题名称看起来令人困惑——我想不出更好的表达方式。
我坚持使用 SELECT 语句。我有一个带有 3 个表的数据库:
Customer (PK cid, name, city, gender);
Goods (PK gid, name, price, available[bool]);
Sales (PK sid, FK cid, FK gid, count, discount, sdate)
我要做的是找到每个城市出售的商品的最大折扣。
因此,如果选择的城市和折扣如下所示:
city | discount
-------------------+---------
TARDIS | 0.1
London |
London | 0.05
Boeshane Peninsula | 0.15
London | 0.1
London | 0.05
我想要得到的是:
city | MaxDiscount
-------------------+----------
Boeshane Peninsula | 0.15
London | 0.1
TARDIS | 0.1
而且我不确定如何按城市对其进行分组并在结果中找到最大折扣。我得到的最接近的是SELECT city, (SELECT max(discount) FROM Sales, Customer GROUP BY city) as MaxDiscount FROM Sales, Customer ORDER BY city;
,但它不起作用,因为它试图将几行插入一行。