Я хочу получить самые дешевые номера в каждом городе и показывать их только после запуска запроса.Если цены на номера равны, то покажите оба.Я пробовал группировать по городу или цене, но это, к сожалению, не сработало.
То, что у меня сейчас есть:
booking:
| type | pID |city |price |
|:-----------|------------:|:------------:|----------
| B | COD12 | Canvas | 240 |
| B | COD40 | Canvas | 200 |
| B | KHOD20 | Kentucky | 40 |
| B | KHOD60 | Kentucky | 40 |
| B | BHOD60 | Bordeaux | 120 |
| B | BHOD80 | Bordeaux | 160 |
Что я хочу:
| type | pID |city |price |
|:-----------|------------:|:------------:|----------
| B | COD40 | Canvas | 200 |
| B | KHOD20 | Kentucky | 40 |
| B | KHOD60 | Kentucky | 40 |
| B | BHOD60 | Bordeaux | 120 |
ЗапросЯ пробовал:
select type,pID,city,price
from booking
where (city, price)
in (select city, min(price)
from booking
group by 1)
Что он показывает после запроса (Бордо не показывает самую дешевую цену):
| type | pID |city |price |
|:-----------|------------:|:------------:|----------
| B | COD40 | Canvas | 200 |
| B | KHOD20 | Kentucky | 40 |
| B | KHOD60 | Kentucky | 40 |
| B | BHOD80 | Bordeaux | 160 |