Упорядочить по конкретному слову в MySQL

0

У меня есть следующие данные: Изображение 174551

Я хочу показать все последние счета, имеющие последнее состояние "Due". Как я могу заказать эти данные.

NB: Я использую базу данных Mysql.

  • 1
    У вас только 2 статуса? Должно и оплачено?
  • 0
    Да. Но любой дополнительный статус будет добавлен как 'abc'.
Теги:

3 ответа

2
Лучший ответ

Это должно сортировать Due, Paid и другие в порядке:

SELECT Date, Invoice, ProductName, Qty, Rate, TotalPrice, PaymentStatus, PaymentType
FROM xxxTable
ORDER BY CASE 
    WHEN PaymentStatus LIKE "%Due%" then 1 
    WHEN PaymentStatus LIKE "%Paid%"  then 2 
    ELSE 3 
END
  • 0
    Спасибо. Но как добавить дополнительные критерии заказа для самых последних данных, например: заказать invoice_id по убыванию?
  • 1
    вы не можете просто добавить, добавив запятую? как, AnotherColumn;
Показать ещё 1 комментарий
0
SELECT Date
     , Invoice
     , ProductName
     , Qty
     , Rate
     , TotalPrice
     , PaymentStatus
     , PaymentType
  FROM xxxTable
 ORDER
    BY PaymentStatus = 'Due' DESC 
     , date DESC
-2

Пытаться:

   select   *
   from     yourtable
   order by
            'Payment Status'
            ,Date desc

Ещё вопросы

Сообщество Overcoder
Наверх
Меню