Запрос MySQL: Как вычислить среднее число значений подряд?

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

Кассандра считывает данные через ключ разделения и может получить помощь по производительности, если используются кластерные столбцы. Если у вас большой раздел, весь раздел должен быть прочитан (память и диск), а затем объединен для вывода. Если у вас большие разделы, это определенно замедлит вас.

8
задан markus 2 April 2009 в 19:20
поделиться

4 ответа

select (A.a + A.b) / 2 from A;
7
ответ дан 5 December 2019 в 20:18
поделиться

Если никто больше не находит лучшее решение, Вы могли бы всегда просто добавлять их вместе, то делиться на число столбцов, которые Вы добавили.

0
ответ дан 5 December 2019 в 20:18
поделиться

Не симпатичный, но это работает.

Не конкретно MySql, но идею должно быть достаточно легко перевести.

CREATE TABLE A (id int identity(1,1), C1 int, C2 int, C3 int)
GO

INSERT INTO A VALUES (1,1,1)
INSERT INTO A VALUES (2,2,2)
INSERT INTO A VALUES (3,3,3)
INSERT INTO A VALUES (1,2,3)
INSERT INTO A VALUES (4,5,6)
GO

CREATE VIEW A_Values
AS
SELECT ID, AVG(Val) AS Average 
FROM
(
    SELECT ID, C1 AS Val FROM A
    UNION ALL
    SELECT ID, C2 AS Val FROM A
    UNION ALL
    SELECT ID, C3 AS Val FROM A
) Q
GROUP BY ID
GO


SELECT * FROM A_Values
GO
0
ответ дан 5 December 2019 в 20:18
поделиться

Я не знаком с синтаксисом MySQL, но что относительно того, чтобы вывести данные строки во временную таблицу как несколько строк с отдельным столбцом и затем использовать AVG () функция для получения результата?

0
ответ дан 5 December 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: