Mysql запрос, показывающий только самые низкие цены на определенные значения, не работает - PullRequest
0 голосов
/ 30 июня 2019

Я хочу получить самые дешевые номера в каждом городе и показывать их только после запуска запроса.Если цены на номера равны, то покажите оба.Я пробовал группировать по городу или цене, но это, к сожалению, не сработало.

То, что у меня сейчас есть:

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    |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...