2016-04-10 1 views
2

У меня есть таблица с двумя столбцами, количеством максимального количества мест (вместимость) и количеством доступных мест (availablePlaces)Расчета в процентах между двумя столбцами в SQL Query в другой колонке

Я хочу, чтобы вычислить availablePlaces, как процент от мощности.

availablePlaces capacity 
1     20 
5     18 
4     15 

Желаемый результат:

availablePlaces capacity Percent 
1     20  5.0 
5     18  27.8 
4     15  26.7 

Любые идеи запроса на выборку SQL, которая позволит мне сделать это?

Спасибо!

ответ

9

Попробуйте это:

SELECT availablePlaces, capacity, 
     ROUND(availablePlaces * 100.0/capacity, 1) AS Percent 
FROM mytable 

Вы должны умножить на 100.0, а не 100, с тем, чтобы избежать целочисленного деления. Кроме того, вы должны использовать ROUND для округления до первой десятичной цифры.

Demo here

+0

Отлично, это сработало! Спасибо :) – missdevops

+0

@missdevops Рад, что я смог помочь. Пожалуйста, отметьте это или любой другой ответ, как принято, если это поможет вам решить вашу проблему. –

+0

Отлично, только то, что мне нужно! Первоначально это делалось без ROUND() и без деления на 100.0 и получало только нули и единицы. Очень признателен. :-) – allardbrain

0

Следующий SQL-запрос будет делать это для вас:

SELECT availablePlaces, capacity, (availablePlaces/capacity) as Percent 
from table_name; 
Смежные вопросы