Вопросы с тегом «aggregate»

Объединение нескольких точек данных в одну точку данных. Это обычно используется применительно к SQL и обычно к какой-либо статистической функции.

96
Хранение против расчета совокупных значений

Существуют ли какие-либо руководящие принципы или практические правила для определения, когда хранить совокупные значения и когда рассчитывать их на лету? Например, предположим, у меня есть виджеты, которые пользователи могут оценивать (см. Схему ниже). Каждый раз, когда я отображаю виджет, я могу...

57
Написание простой банковской схемы: как я должен синхронизировать свои балансы с историей их транзакций?

Я пишу схему для простой банковской базы данных. Вот основные характеристики: База данных будет хранить транзакции против пользователя и валюты. У каждого пользователя есть один баланс на валюту, поэтому каждый баланс - это просто сумма всех транзакций с данным пользователем и валютой. Баланс не...

44
Устранить дубликаты в ListAgg (Oracle)

До Oracle 11.2 я использовал пользовательскую агрегатную функцию для объединения столбца в строку. 11.2 Добавлена LISTAGGфункция, поэтому я пытаюсь использовать ее вместо этого. Моя проблема в том, что мне нужно устранить дубликаты в результатах и, похоже, я не могу этого сделать. Вот пример....

32
Как я могу использовать значение по умолчанию в запросе выбора в PostgreSQL?

Я хотел бы использовать значение по умолчанию для столбца, который следует использовать, если строки не возвращаются. Это возможно в PostgreSQL? Как я могу это сделать? Или есть другой способ решить эту проблему? Например, что-то вроде этого: SELECT MAX(post_id) AS max_id DEFAULT 0 FROM my_table...

29
Какой самый эффективный способ получить минимум нескольких столбцов в SQL Server 2005?

Я нахожусь в ситуации, когда я хочу получить минимальное значение из 6 столбцов. Я нашел три способа сделать это, но у меня есть проблемы с производительностью этих методов, и я хотел бы знать, какой из них лучше для производительности. Первый способ - использовать большой регистр . Вот пример с 3...

28
Почему ANSI SQL определяет SUM (без строк) как NULL?

Стандарт ANSI SQL определяет (глава 6.5, спецификация функции набора) следующее поведение для агрегатных функций в пустых результирующих наборах: COUNT(...) = 0 AVG(...) = NULL MIN(...) = NULL MAX(...) = NULL SUM(...) = NULL Возврат NULL для AVG, MIN и MAX имеет смысл, поскольку среднее,...

26
Использование HAVING без GROUP BY в SQL-запросах

Чтобы использовать HAVINGв запросах SQL, должен ли быть GROUP BYагрегировать имена столбцов? Существуют ли особые случаи, когда можно использовать HAVINGбез GROUP BYSQL-запросов? Должны ли они сосуществовать...

21
Есть ли в PostgreSQL агрегатная функция first-) безопасной для типов?

Полный вопрос переписать Я ищу агрегатную функцию First (). Здесь я нашел то, что почти работает: CREATE OR REPLACE FUNCTION public.first_agg ( anyelement, anyelement ) RETURNS anyelement LANGUAGE sql IMMUTABLE STRICT AS $$ SELECT $1; $$; -- And then wrap an aggregate around it CREATE AGGREGATE...

21
Access (Jet) SQL: отметки DateTime в таблице B, фланкирующие каждую отметку DateTime в таблице A

Первые слова Вы можете спокойно игнорировать разделы ниже (и в том числе) JOINs: начиная с Off, если вы просто хотите взломать код. Фон и результаты просто служат в качестве контекста. Пожалуйста, посмотрите историю изменений до 2015-10-06, если вы хотите увидеть, как изначально выглядел код....

20
Скользящая сумма / количество / среднее за интервал дат

В базе данных транзакций, охватывающей тысячи субъектов в течение 18 месяцев, я хотел бы выполнить запрос для группировки каждого возможного 30-дневного периода по entity_idсумме их сумм транзакций и количеству их транзакций за этот 30-дневный период, и вернуть данные таким образом, что я могу...

20
Объединение отдельных диапазонов в максимально возможные смежные диапазоны

Я пытаюсь объединить несколько диапазонов дат (моя загрузка составляет около 500, в большинстве случаев 10), которые могут перекрывать или не перекрывать максимально возможные диапазоны дат. Например: Данные: CREATE TABLE test ( id SERIAL PRIMARY KEY NOT NULL, range DATERANGE ); INSERT INTO test...

19
SQL Server возвращает «Ошибка арифметического переполнения при преобразовании выражения в тип данных int».

Когда я запускаю эту команду с SUM() SELECT COUNT(*) AS [Records], SUM(t.Amount) AS [Total] FROM dbo.t1 AS t WHERE t.Id > 0 AND t.Id < 101; Я получаю, Arithmetic overflow error converting expression to data type int. Любая идея о том, что является причиной этого? Я просто следую инструкциям в...

16
Ошибка Postgres [столбец должен появляться в предложении GROUP BY или использоваться в статистической функции] при использовании подзапроса

У меня есть две таблицы employeeи phones. Сотрудник может иметь от 0 до n телефонных номеров. Я хочу перечислить имена сотрудников с их номерами телефонов. Я использую запрос ниже, который работает нормально. SELECT empname,array_agg(phonenumber) AS phonenumbers FROM employee LEFT OUTER JOIN phones...

13
Почему array_agg () медленнее, чем неагрегированный конструктор ARRAY ()?

Я просто просматривал какой-то старый код, написанный для PostgreSQL до 8.4 , и увидел что-то действительно изящное. Я помню, что когда-то пользовательские функции делали это раньше, но я забыл, как они array_agg()выглядели. Для обзора современная агрегация написана так. SELECT array_agg(x ORDER BY...

13
Расчет процента строки по общей сумме

Извиняюсь за плохое название, я не был уверен, что будет хорошим названием для этого. В настоящее время это (упрощенное представление) данные, с которыми я работаю Agent | Commission ---------|------------ Smith | 100 Neo | 200 Morpheus | 300 Мне нужно рассчитать процент от общей комиссии, за...

12
Зачем нужен этот агрегат потока?

Проверьте этот запрос. Это довольно просто (см. В конце поста определения таблиц и индексов, а также скрипт repro): SELECT MAX(Revision) FROM dbo.TheOneders WHERE Id = 1 AND 1 = (SELECT 1); Примечание: «AND 1 = (SELECT 1) просто для того, чтобы этот запрос не был автоматически параметризован, что,...

12
Почему агрегатный запрос значительно быстрее с предложением GROUP BY, чем без него?

Мне просто любопытно, почему агрегатный запрос выполняется с GROUP BYпредложением гораздо быстрее , чем без него. Например, этот запрос выполняется почти 10 секунд SELECT MIN(CreatedDate) FROM MyTable WHERE SomeIndexedValue = 1 В то время как этот занимает меньше секунды SELECT MIN(CreatedDate)...

11
Как получить агрегат оконной функции в Postgres?

У меня есть таблица, содержащая два столбца перестановок / комбинаций целочисленных массивов, и третий столбец, содержащий значение, например, так: CREATE TABLE foo ( perm integer[] NOT NULL, combo integer[] NOT NULL, value numeric NOT NULL DEFAULT 0 ); INSERT INTO foo VALUES ( '{3,1,2}',...