【问题标题】:MySQL query and php editMySQL查询和php编辑
【发布时间】:2012-05-20 17:04:19
【问题描述】:

我有许多数据库条目,每个条目都包含一个值。

我想展示一些关于这些值的统计数据,所以我应该可以说:

  • 有多少条目(行)的值介于 0 和 5 之间,
  • 有多少条目(行)的值在 6 到 10 之间,
  • 有多少条目(行)的值在 11 到 20 之间,
  • 有多少条目(行)的值大于 20。

(以上数值仅作为示例给出)

假设我将有大约 6-7 个间隔来对值进行分组。我可以在单个 MySQL 查询中执行此操作吗?如果是,我如何使用 photoshop PHP 访问分组值?

谢谢!

编辑:
似乎查询实际上更难。我有 2 列(val1 和 val2)。我希望查询计算间隔之间有多少项具有 val1/val2(val1 除以 val2)...

【问题讨论】:

  • 天啊,我想我应该休息一下... :)) 我的意思是,php 大声笑。

标签: php mysql


【解决方案1】:
SELECT 
   SUM(col BETWEEN 0 AND 5) AS 0_to_5,
   SUM(col BETWEEN 6 AND 10) AS 6_to_10,

等等。等等

回复:您的编辑:

  SELECT 
   SUM(val1/val2 BETWEEN 0 AND 5) AS 0_to_5,
   SUM(val1/val2 BETWEEN 6 AND 10) AS 6_to_10,

【讨论】:

  • +1 从那里获取输出值的屏幕截图并将它们粘贴到 Photoshop 中只是一个简单的步骤。
  • @Cristy:我知道。我在开玩笑:)
  • 我知道你在开玩笑,我在和弗兰克说话;我在查询中添加了一些内容:))
【解决方案2】:

如果您将计数分成的范围大小相同,则可以使用模运算符:

SELECT MOD(col, 5), COUNT(col)
FROM ...
WHERE ...
GROUP BY MOD(col, 5)

它会自动将所有内容分组为每个类别 5 个类型的事物,并处理无限范围的类别。

如果范围大小不同,那么您必须生成一个大的 case/if-then-else 类型构造来单独检查每个范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 2012-02-15
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多