SQL:决定是否使用它

时间:2010-12-28 13:02:37

标签: mysql sql

喂: 我使用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

我需要在某个#time间隔内分析#values的总和。假设时间间隔 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 个答案:

答案 0 :(得分:7)

您应该可以使用非常简单的查询在mysql中执行此操作:

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

查询利用了以下事实:整数除以100将为您提供您所描述的区间分组(例如111 DIV 100 = 1134 DIV 100 = 1

答案 1 :(得分:2)

我不清楚问题。

  • 有一个数据库,你想从那里处理数据,你是否要求使用或不使用SQL?答:是的,SQL是许多数据库的接口,对于有微小变化的主要数据库来说,它是非常标准的。使用它。

  • 如果您不能决定使用或不使用数据库来存储和处理某些值,那么数据类型,数据量和数据关系很重要。如果您想处理大量数据并且数据集之间存在关系,那么您可能希望使用关系数据库系统,例如MySql。你告诉的问题是RMDBS的一个非常简单的问题。让我举个例子:

  

从项目中选择总和(值)   时间> = 100且时间< = 200

但如果数据集很小,您可以使用文件I / O轻松处理它。

  • 如果您将使用Python,您可能希望使用Sqlite作为数据库,它非常轻巧,简单,易于使用和广泛使用的数据库。您也可以将SQL与Sqlite一起使用。

如果您能提供更清晰的详细信息,我们可以提供更多帮助。

答案 2 :(得分:1)

是的,像MySQL这样的基于SQL的数据库可能是您项目的不错选择。如果您不想设置服务器,您可能还想查看SQLite。

关于SQL的好的介绍性文本对您有所帮助。我建议Allen Taylor使用 SQL For Dummies