Возможно ли сохранить дробь в запросе? - PullRequest
0 голосов
/ 25 мая 2019

Я ищу способ сложения средних значений в SQL. Вот пример данных, которые у меня есть:

product      avg_price
phone        104.28
car          1000.00

И я собираюсь построить что-то вроде этого:

product      avg_price
[all]        544.27
phone        104.28
car          1000.00

В настоящее время я делаю это, чтобы хранить счет и сумму в двух разных столбцах, например:

product    cnt     total
phone      203     20,304.32
car        404     304,323.30

И из этого получим среднее. Однако мне было интересно, возможно ли в SQL просто «сохранить дробь» и иметь возможность добавлять их по мере необходимости. Например:

product      avg_price
[all]        [add the fractions]
phone        20,304.32 / 203
car          304,323.30 / 404

Или мне нужно использовать два столбца, чтобы получить среднее значение для нескольких агрегированных строк?

1 Ответ

0 голосов
/ 25 мая 2019

Вам не нужно 2 столбца, чтобы получить среднее значение, но если вы хотите отобразить в виде дроби, то вам понадобятся оба числа. Они не должны быть в двух столбцах.

    select product, sum(total) ||'/'||sum(count) 
    from table a
        join table b on a.product=b.product
    union
    select product, total ||'/'||count 
    from table a
        join table b on a.product=b.product;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...