mysql элементы заказа не работают в моем запросе - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть код ниже, но мой запрос не упорядочивает элементы, как ожидалось.

Мои столбцы объявлены как DOUBLE

enter image description here

Запрос:

Select VendorName, format(SUM(Order_Quantity*Net_price),2) as Total_Purchase 
from purchases 
group by VendorName 
order by Total_Purchase desc;

Ответы [ 2 ]

2 голосов
/ 28 апреля 2020

Функция форматирования возвращает строку, следовательно, порядок не соответствует ожидаемому. Вы можете использовать функцию round, чтобы получить тот же эффект, не превращая его в строку.

Select VendorName, ROUND(SUM(Order_Quantity*Net_price),2) as Total_Purchase 
from purchases 
group by VendorName 
order by Total_Purchase desc;

Редактировать: Если вам действительно нужно форматирование, вы можете использовать что-то вроде этого:

select VendorName, format(Total_Purchase_Int, 2) as Total_Purchase
from (
  Select VendorName, ROUND(SUM(Order_Quantity*Net_price),2) as 
  Total_Purchase_Int 
  from purchases 
  group by VendorName 
  order by Total_Purchase desc
) as temp_purchase_table;
1 голос
/ 28 апреля 2020

Вы можете выбрать format(SUM(Order_Quantity*Net_price),2) и order by SUM(Order_Quantity*Net_price) desc:

Select VendorName, format(SUM(Order_Quantity*Net_price),2) as Total_Purchase 
from purchases 
group by VendorName 
order by SUM(Order_Quantity*Net_price) desc;
...