SQL: решить, использовать его или нет - PullRequest
4 голосов
/ 28 декабря 2010

Hallo: Я сделал некоторую текстовую обработку базы данных, используя Shell и Python. Для совместимости, я думаю сделать это с помощью SQL. SQL подходит для некоторых задач запроса. Но я не уверен, что SQL справится со всеми моими задачами. Рассмотрим один пример базы данных:

item | time | value 
-----+------+-------
 1   | 134  |   3
 2   | 304  |   1
 3   | 366  |   2
 4   | 388  |   2
 5   | 799  |   6
 6   | 111  |   7

Мне нужно профилировать сумму # значений за определенный интервал времени #. Предположим, интервал времени равен 100 , результат должен быть:

time_interval | sumvalue
--------------+----------
      1       |   10      -- the time interval from 100 to 199
      3       |    5      -- the time interval from 300 to 399
      7       |    6      -- the time interval from 700 to 799

Я не смог найти лучшего способа сделать это из учебника SQL, чем сделать это с помощью shell и python.
Итак, мои ТАК друзья, есть предложения?

Спасибо!

Ответы [ 3 ]

7 голосов
/ 28 декабря 2010

Вы должны быть в состоянии сделать это в mysql с помощью довольно простого запроса:

SELECT time DIV 100, SUM(value) FROM yourtable
   GROUP BY time DIV 100

В запросе используется тот факт, что целочисленное деление на 100 даст вам группы интервалов, которые вы описали (например,. 111 DIV 100 = 1 и 134 DIV 100 = 1)

2 голосов
/ 28 декабря 2010

Вопрос мне не понятен.

  • Существует база данных, и вы хотите оттуда обрабатывать данные, и вы просите использовать или не использовать SQL?Ответ: Да, SQL является интерфейсом для многих баз данных, он вполне стандартен для крупных баз данных с небольшими изменениями.Используйте его.

  • Если вы не можете решить использовать или не использовать базу данных для хранения и обработки некоторых значений, тогда важен тип данных, объем данных и связи в данных.Если вы хотите обрабатывать большие объемы данных и существует связь между наборами данных, вы можете использовать системы реляционных баз данных, такие как MySql.Проблема, которую вы сказали, является очень простой проблемой для RMDBS.Позвольте мне привести пример:

выберите сумму (значение) из элементов, где время> = 100 и время <= 200 </p>

Но если набор данныхЭто небольшой размер, с которым легко справиться с файловым вводом / выводом.

  • Если вы будете использовать Python, вы можете использовать Sqlite в качестве базы данных, он очень легкий, простой, простой в использовании и широко используемыйбаза данных.Вы также можете использовать SQL с Sqlite.

Если вы можете дать более подробные сведения, мы можем помочь больше.

1 голос
/ 28 декабря 2010

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

Для вас будет полезен хороший вводный текст по SQL.Я предлагаю SQL для чайников от Аллена Тейлора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...