2016-10-28 3 views
1

SQL запрос к сумме же идентификатор, но разные значения ?? .... Я пытаюсь вычислить сумму же ид ... Ниже мой столsql запрос к сумме того же идентификатора, но различного значения?

id  barter_value 
2   50,000 
2   1,50,000 
3   47,000 
3   55,000 
3   50,00,000 

Я хочу выход как

id  barter_value 
2   2,00,000 
3   51,00,2000 


select a.buyer_id, 
     a.prod_barter_val 
     from add_to_cart as a 
     join(select buyer_id, 
      sum(prod_barter_val) as total 
      from add_to_cart group by buyer_id) as b 
      on a.buyer_id = b.buyer_id; 
+0

Что такое стоимость 1,50,000? – Jens

ответ

1

Вы можете просто нравится:

select buyer_id, sum(prod_barter_val) from add_to_cart group by buyer_id

+0

Выбрать buyer_id, sum (prod_barter_val) всего от add_to_cart group by buyer_id; Он дает неправильный результат –

+0

Id 2 дает 51 и Id 3 дает 152 –

+0

@ S.Patil Интересно. Являются ли эти необработанные значения (числа) из БД в вашем вопросе? Я думаю, что ваша группировка цифр немного не работает. – Vasan

1

Вы почти там, просто изменить SQL Постулаты (b.total):

select buyer_id, 
    sum(prod_barter_val) as total 
    from add_to_cart 
    group by buyer_id 
+0

Почему здесь нужна JOIN и неявная таблица? – Vasan

+0

На самом деле это не так. Я удалил его. –

+0

У этого обновленного решения также есть проблема. Совокупная функция, такая как SUM, не будет работать без GROUP BY. – Vasan

1
SELECT id, SUM(barter_value) as 'total' FROM table GROUP BY id 

Что это делает: Выбирает все идентификаторы и значения бартерные из таблицы. Затем GROUP BY вступает в силу, и все идентификаторы, которые равны, объединены в одну строку.

Без SUM вы получите только случайное значение в столбце barter_value, но с SUM оно добавляет все строки вместе для идентификатора (отдельно) и помещает его в общий столбец.

Смежные вопросы