`
peryt
  • 浏览: 54375 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • waiting: 既然都指定了dataType为'script'那就不必特别在b ...
    jQuery

group_by 方法的使用

阅读更多
有时候,你也许需要将一个数组中的元素根据某种规则进行分组。那么group_by方法就是很好的选择。

先来看下面的例子:
>> a = (1..20).to_a
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
>> a.group_by { |num| num/5 }=> [[0, [1, 2, 3, 4]], [1, [5, 6, 7, 8, 9]], [2, [10, 11, 12, 13, 14]], [3, [15, 16, 17, 18, 19]], [4, [20]]] 

我们看到,这个方法后面跟着一个block,他依次将数组的每个元素传入这个block中,然后根据block运算的结果,来进行分组,把结果相同的归为一组。
在返回的分组后的嵌入数组中,每个子数组的第一个元素是运算的结果,第二个元素就是返回这个结果的原数组元素group后的数组。

最新的rails对此做了改动,返回的是一个OrderedHash Object.
分享到:
评论

相关推荐

    【GROUP_CONCAT】使用之MySQL官方文档翻译

    SELECT student_name, GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR '') FROM student GROUP BY student_name; ``` 上述语句中,`DISTINCT` 关键词去除了重复的分数,`ORDER BY` 对...

    当数据库复杂查询执行顺序与编写顺序原理及sql案例:同时出现了where_group_by_having_order_by的时候_执行顺序和编写顺序

    当同时出现了where_group_by_having_order_by的时候_执行顺序和编写顺序时的用法

    Group_by详解_完美例句

    例如,如果你有一个包含水果信息的表格,包括水果名称(FruitName)、产地(ProductPlace)和价格(Price),你可以使用`GROUP BY`语句来根据产地分组,以便计算每个产地的水果种类数量。 ### 2. `GROUP BY`的使用 ...

    order_by_、group_by_、having的用法区别.doc

    3. **HAVING** 用于对分组后的结果集进行过滤,常与 `GROUP BY` 配合使用。 理解并熟练掌握这三个子句的用法对于高效地处理和分析数据至关重要。希望本文能够帮助读者更好地理解和应用这些重要的SQL概念。

    order_by_、group_by_、having的用法

    在SQL查询中,`order_by_`、`group_by_`和`having`是三个非常重要的关键字,它们分别用于不同的数据处理操作。 1. `ORDER BY`:此关键字用于对查询结果进行排序,默认是升序(ASC),也可以指定降序(DESC)。在`...

    MySql版本问题sql_mode=only_full_group_by的完美解决方案

    ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 2、去掉ONLY_FULL_GROUP_BY,重新设置值。 set @@sql_mode ='...

    Django中使用group_by的方法

    本文实例讲述了Django中使用group_by的方法。分享给大家供大家参考。具体分析如下: 在Django中怎样使用group_by语句呢?找了很多资料,都没有看到好的,在这里分享两种方法给大家: 首先,我们先建一个简单的模型。...

    order_by_、group_by_、having的用法区别

    order_by_、group_by_、having的用法区别

    mysql中GROUP_CONCAT的使用方法实例分析

    本文将通过实例深入解析`GROUP_CONCAT`的使用方法。 首先,我们来看一下提供的三个表格的结构和数据: 1. `cate` 表:存储文章分类信息,包括`id`(主键)和`name`(分类名)。 2. `article` 表:存储文章基本信息...

    解决MySQL 5.7.9版本sql_mode=only_full_group_by问题

    例如,`STRICT_TRANS_TABLES`模式要求在事务表中插入时数据必须完全有效,`NO_ZERO_IN_DATE`和`NO_ZERO_DATE`模式禁止日期字段包含零值,`ERROR_FOR_DIVISION_BY_ZERO`会在除以零时抛出错误,而非返回NULL,`NO_AUTO...

    Root_Explorer-v4.3.0(3.0 )-Kstyle_icon_group-Patched_by_Alphaeva

    Root_Explorer-v4.3.0(3.0 )-Kstyle_icon_group-Patched_by_Alphaeva

    Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错的解决方法

    SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; ``` 这会去掉`ONLY_FULL_GROUP_BY`,但只对新创建的会话...

    group_concatenate与locate的联合用法示例

    GROUP BY customer_id; ``` 这将返回每个客户的ID以及他们购买的所有产品的列表,每个产品名之间由逗号分隔。 接下来,`LOCATE` 函数是用于在一个字符串中查找另一个字符串的第一个出现位置。如果未找到,它将返回...

    Mysql的GROUP_CONCAT()函数使用方法

    $row = $pdo->query("SELECT student_id, GROUP_CONCAT(courses_id) AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id"); $result = explode(',', $row['courses']); ``` 此外,GROUP_...

    MySQL统计函数GROUP_CONCAT使用陷阱分析

    本文将深入探讨GROUP_CONCAT的使用及其潜在问题,并提供解决方案。 首先,GROUP_CONCAT的基本语法是: ```sql GROUP_CONCAT(column_name [ORDER BY column_name2 [ASC|DESC]] [SEPARATOR 'string']) ``` 这个函数在...

    Linq中GroupBy方法的使用总结.

    Linq中GroupBy方法的使用总结 Linq 中的 GroupBy 方法是对数据进行分组的操作,通常用于对一个或多个字段进行分组,求其总和、均值等。下面我们来详细介绍 Linq 中 GroupBy 方法的使用。 一、基本使用 在 Linq 中...

    group by + order by

    ### Group By 和 Order By 的使用方法及组合应用 在数据库查询语言 SQL(Structured Query Language)中,`GROUP BY` 和 `ORDER BY` 是两个非常重要的子句,它们可以帮助我们更高效地管理和展示数据。 #### GROUP ...

Global site tag (gtag.js) - Google Analytics