@undeadter

Как правильно сделать запрос с сортировкой в MySQL?

есть таблица mysql
содержит поля rate и amount

она содержит много значений rate = 0.01 и разные amount
также содержит много разных значений rate и разные amount

Хочу получить все amount для первых 15 значений rate = 0.01, 0.03, 0.04 ... 0.16

Такая команда возвращает 15 значений amount для одного rate:
"SELECT * FROM `cell` WHERE `buy_cell` = 0 ORDER BY `rate` DESC LIMIT 15"

Как получить абсолютно все значения amount для 15 разных rate?
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 2
@mthps
Смотря в каком виде ожидается результат
SELECT * FROM `cell` WHERE `buy_cell` = 0 AND rate BETWEEN 0.01 AND 0.16 ORDER BY `rate` DESC
либо
SELECT *, GROUP_CONCAT(amount) FROM `cell`
WHERE `buy_cell` = 0 AND rate BETWEEN 0.01 AND 0.16
GROUP BY rate
ORDER BY `rate` DESC
Ответ написан
Комментировать
idShura
@idShura
Если поле rate может содержать одинаковые значения, то возможно нужно делать так:
SELECT a.`rate`,
       b.`amount`
  FROM (SELECT `rate` 
          FROM `cell` 
         WHERE `buy_cell` = 0 
         GROUP BY `rate` 
         ORDER BY `rate` DESC 
         LIMIT 15
        ) AS a
  LEFT JOIN `cell` AS b on b.`rate` = a.`rate`
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы