Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

SQL запрос   Найти похожие ветки 

 
zorik   (2004-11-12 15:55) [0]

Как найти суму поля A, причем так чтобы если значения поля B повторяется, то этот запись уже не суммировать?

Например

А  В
1  1
2  2
3  5
5  7
5  7
1  1

Результат

А
11


 
Reindeer Moss Eater ©   (2004-11-12 16:01) [1]

А если в последней строке не 1 1 , а 2 1 ?
Должно быть 11 или 12?

А если еще есть N строк с B=1 но с любой A?


 
zorik   (2004-11-12 16:04) [2]

Для одинаковых В одинаковые А - однозначно. Можно сгруппировать и потом найти суму, но может есть другой выход?


 
Reindeer Moss Eater ©   (2004-11-12 16:07) [3]

Другой выход есть только тогда, когда таблица проектировалась головой, а не мышкой.
В этом другом выходе язык SQL поможет быстро легко и дешево решить задачу.


 
Ega23 ©   (2004-11-12 16:08) [4]

distinct ?


 
zorik   (2004-11-12 16:12) [5]

Самый простой выход - разделить таблицу и сделать view. Спасибо!

Как работает distinct?


 
Ega23 ©   (2004-11-12 16:16) [6]

А какая СУБД?


 
zorik   (2004-11-12 16:22) [7]

Firebird


 
Ega23 ©   (2004-11-12 16:25) [8]

Не знаком с диалектом, но неужели нет ничего похожего?
Из MS SQL:
Using DISTINCT
The DISTINCT keyword is optional with SUM, AVG, and COUNT. When DISTINCT is used, duplicate values are eliminated before the sum, average, or count is calculated.

If you use DISTINCT, the expression must consist of a column name only. It cannot include an arithmetic expression.

This query returns the average prices of business books (without duplicate values):

USE pubs
SELECT AVG(DISTINCT price)
FROM titles
WHERE type = "business"

Here is the result set:

------------------
14.64

(1 row(s) affected)

Without DISTINCT, the AVG function finds the average price of all business titles:

USE pubs
SELECT AVG(price)
FROM titles
WHERE type = "business

Here is the result set:

------------------
13.73



 
zorik   (2004-11-12 16:46) [9]

Разобрался. Thanks all



Страницы: 1 вся ветка

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-1101405558
Gero
2004-11-25 20:59
2004.12.12
Прокрутка в консоли


4-1098871748
olevacho
2004-10-27 14:09
2004.12.12
запуск команд под другой учетной записью


1-1101672773
Донской
2004-11-28 23:12
2004.12.12
Код raise.exception.create не генерит ошибки!!


14-1100806076
Игорь Шевченко
2004-11-18 22:27
2004.12.12
Перечитывая Таненбаума (задачка)


3-1100111086
APXi
2004-11-10 21:24
2004.12.12
Как узнать ID созданной с помощью SQL записи?