Учитывая набор данных похожи на:запрос всего файла, но по отдельным данным, сгруппированных по уникальному элементу столбца
╔═════════╦════════╦════════╗
║ FIELD1 ║ FIELD2 ║ FIELD3 ║
╠═════════╬════════╬════════╣
║ 11-1.01 ║ Jacob ║ 3 ║
║ 11-1.02 ║ Jacob ║ 4 ║
║ 12-2.01 ║ Jacob ║ 3 ║
║ 13-3.01 ║ Jacob ║ 4 ║
║ 13-3.02 ║ Jacob ║ 3 ║
║ 13-3.03 ║ Jacob ║ 2 ║
║ 11-1.01 ║ Chris ║ 3 ║
║ 11-1.02 ║ Chris ║ 4 ║
║ 12-2.01 ║ Chris ║ 2 ║
║ 13-3.01 ║ Chris ║ 4 ║
║ 13-3.02 ║ Chris ║ 3 ║
║ 13-3.03 ║ Chris ║ 2 ║
║ 11-1.01 ║ Mike ║ 4 ║
║ 11-1.02 ║ Mike ║ 3 ║
╚═════════╩════════╩════════╝
Мне нужно найти среднее значение field3 для повторяющихся предварительно десятичных значений Field1 (после десятичных значений не важно), для каждого уникального элемента Field2. Значения Field1 определяются как тип CHAR и 7 цифр в длину (включая дефис и десятичные числа).
Я в настоящее время в состоянии найти средние значения для одного конкретного элемента Field2 с помощью ИНЕКЕ, как таковой:
SELECT prefix, COUNT(prefix), Field2, FORMAT(AVG(suffix),2)
FROM
(
SELECT LEFT(Field1,4) AS prefix, Field3 AS suffix, Field2
FROM mytable WHERE Field2 = 'Jacob'
)x
GROUP BY prefix;
Однако, это моя цель, чтобы пробежать весь файл и найти средние значения для каждого другой элемент Field2, поэтому мне не нужно запускать программу столько раз, сколько есть уникальные имена Field2. Я чувствую, что это должно быть довольно легко изменить мой текущий код, но не знаю, что делать. Возможно, лучший способ структурировать эти данные в таблице, хотя я получил это и должен работать с ним (я мало знаю об этом).
UPDATE 1
Желаемая Result
╔════════╦═════════════╦════════╦═════════╗
║ PREFIX ║ PREFIXCOUNT ║ FIELD2 ║ AVERAGE ║
╠════════╬═════════════╬════════╬═════════╣
║ 11-1 ║ 2 ║ Chris ║ 3.50 ║
║ 12-2 ║ 1 ║ Chris ║ 2.00 ║
║ 13-3 ║ 3 ║ Chris ║ 3.00 ║
║ 11-1 ║ 2 ║ Jacob ║ 3.50 ║
║ 12-2 ║ 1 ║ Jacob ║ 3.00 ║
║ 13-3 ║ 3 ║ Jacob ║ 3.00 ║
║ 11-1 ║ 2 ║ Mike ║ 3.50 ║
╚════════╩═════════════╩════════╩═════════╝
что вы желаемого результата, то основываясь на приведенном выше примере? –
Привет JW, Мой желаемый результат будет что-то похожее на следующее: 'префикс COUNT (префикс) Field2 AVG (суффикс)' ' 11-1 2 Jacob 3.5' ' 12-2 1 Jacob 3' ' 13-3 3 Jacob 3' '11-1 2 Chris 3.5' ' 12-2 1 Chris 2' '13-3 3 Chris 3' ' 11-1 2 Mike 3.5' (И так далее для каждого другое имя Field2 в файле) ' Благодарим за быстрый ответ. Редактировать * Мой код не работает в комментариях. Попытка разобраться в этом. – TheDoctor
как насчет ответа ниже? ': D' –