Как ВЫБРАТЬ строку с данными MAX () столбца? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть таблица базы данных:

Transaction                    detail_transaction              product
2 (id_sale)                     1 (id_detail)                   3 (id_product)
Yes (status_paidOff)            2 (id_sale)                     fish rolls (product_name)
2020-05-28(transaction_date)    3 (id_product)
Product (sale_type)             7 (total_sale)

Таким образом, результат выглядит примерно так:

Product Name Total Sale

Fish rolls               7

Я хочу выбрать строка в detail_transaction, которая имеет MAX total_sale, с условиями:

  • она выплачена = Да
  • транзакция в 5-м месяце (вы можете использовать MONTH(transaction_date)=5)
  • тип продажи: Product

Кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 27 мая 2020

Если вам просто нужна верхняя строка из detail_transaction, которая удовлетворяет условию, вы можете присоединить detail_transaction к transaction, отфильтровать с помощью предложения where, затем order by и limit:

seslect dt.*
from detail_transaction dt
inner join transaction t on t.id_sale = dt.id_sale
where 
    t.status_paidoff = 'yes' 
    and month(t.transaction_date) = 5
    and t.sale_type = 'Product'
order by dt.total_sale desc
limit 1
...