2013-03-13 3 views
0

Я бег моделирования при изменении числа итераций и каждая итерация создает таблицу вывода, как table1, table2, Table3 ... Все они имеют такую ​​же структуру, как:цикла по переменному числу таблиц

ID | значение

но различное количество рядов.

Для каждой таблицы, я хочу, чтобы вычислить среднее значение столбца «значение» и показать их в новую таблицу с колонкой «средних», как:

tableNumber | averageValue

1  |  516 
    2  |  512 
    3  |  521 
... |  ... 

Возможно ли это в SQlite, если количество столов достаточно велико? А если нет, как я могу достичь этого по-другому?

Большое спасибо заранее :-)

ответ

0

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

 select batch, avg(value) as AvgValue 
     from simulation   
     where batch = 100 
     group by batch 
+0

Спасибо. У меня появилась такая же идея. Но когда количество партий/наборов неизвестно, как я могу пройти через это неизвестное число и вывести средние значения? Я уверен, что это не сложно, просто не могу думать об этом, поскольку я совершенно новичок в базах данных :-) – Benjamin

+0

Просто устраните условие 'where batch = 100'. – Tim

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