`
maria3905
  • 浏览: 22898 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

group_contact函数

阅读更多

group_contact函数是mysql中的函数
语法是:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
主要是将相同的行组成一列
group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。

SELECT  vs_continent_code, vs_continent_name, vs_country_code, vs_country_name,
    vs_type,MIN(vs.lowest_price)
     FROM t_visa_service vs
     WHERE vs_type IN (1,2)
     GROUP BY vs_country_code,vs_type

 
得到的是这个结果:


 

 
这样就会造成同一个国家下面有多条数据,但是实际想要的不是这样的效果,而是一个洲,对应各个不同的国家,每个国家下面是不同类型的签证价格,若是不用group_concat()这个函数,获取的就是有多少签证类型,对应的国家在洲下全部显示
显然不是想要的,只需要加上这个函数,将查出的相同的列列出来,不同的用这个函数将它组装成一行

SELECT vs_continent_code, vs_continent_name, vs_country_code, vs_country_name,
GROUP_CONCAT(coun.vs_type ORDER BY coun.vs_type SEPARATOR ',' ) vs_type,
GROUP_CONCAT(coun.lp ORDER BY coun.vs_type SEPARATOR ',' ) lowest_price
FROM (SELECT  vs_continent_code, vs_continent_name, vs_country_code, vs_country_name,
    vs_type,MIN(lowest_price) lp
     FROM t_visa_service
     WHERE vs_type IN (1,2)
     GROUP BY vs_country_code,vs_type) coun
    
     GROUP BY coun.vs_country_code

 
实际效果是这样的:

 

 

  • 大小: 15.6 KB
  • 大小: 3.7 KB
  • 大小: 13.9 KB
  • 大小: 22.9 KB
分享到:
评论

相关推荐

    SqlServer GroupConcat

    在SQL Server中,`GroupConcat`函数是一种非常实用的功能,特别是在处理聚合数据并希望返回一组字符串,而不是单个值时。然而,与MySQL等其他数据库系统不同,SQL Server原生并不支持`GroupConcat`。因此,为了在SQL...

    如何修改Mysql中group_concat的长度限制

    在MySQL数据库中,`GROUP_CONCAT` 是一个非常实用的聚合函数,用于将同一组内的多个行值合并成一个单一的字符串,通常以逗号作为默认分隔符。然而,当处理大量数据时,可能会遇到内容被截断的情况,这是因为MySQL对`...

    函数列表1

    1. **getContact**: 此函数用于获取指定老师的联系方式。参数`teacher_id`为教师ID,返回值`Teacher_contact`包含教师的联系信息,可能包括电话、邮箱、QQ、微信等。 2. **editContact**: 这个函数用于修改老师的...

    如果给Contact的List加一个用字母排序的导航例子

    这可以通过SQL查询实现,例如,你可以使用`GROUP BY`语句根据名字的首字母进行分组。 2. 字母导航栏创建:在布局文件中,创建一个侧滑出的字母栏,通常使用HorizontalScrollView或RecyclerView来承载这些字母。每个...

    Salesforce SOQL和SOSL参考手册

    SELECT AccountId, COUNT(Id) FROM Contact GROUP BY AccountId HAVING COUNT(Id) > 10 ``` ##### ORDER BY `ORDER BY`子句用于对结果进行排序。可以指定升序`ASC`或降序`DESC`。 ```soql SELECT Id, Name FROM ...

    最新React架构全套高质量视频课程

    07-react-addons-css-transition-group 08-NavMenu导航组件开发(一) 09-NavMenu导航组件开发(二) 10-NavMenu导航组件开发(三) 11-实现collapse折叠功能 12-实现路由激活状态的样式 13-目录层级调整 14-项目首页开发 ...

    react最新教程(包含初级-中级-高级)

    07-react-addons-css-transition-group 08-NavMenu导航组件开发(一) 09-NavMenu导航组件开发(二) 10-NavMenu导航组件开发(三) 11-实现collapse折叠功能 12-实现路由激活状态的样式 13-目录层级...

    salesforce soql sosl技术文档

    - **Considerations When Using GROUP BY**:当使用`GROUP BY`时需要注意几个方面,如分组字段的数据类型、聚合函数的使用等。 - **Using Aliases with GROUP BY**:可以在`GROUP BY`子句中使用别名来提高查询的...

    C#oop集合 联系人管理

    例如,`Contact`类可以有一个接受姓名和联系方式的构造函数,而`Group`类可能需要一个接收分组名称的构造函数。 8. 方法和事件: - `AddContact`:添加新的联系人到系统。 - `EditContact`:编辑已存在的联系人...

    通讯录的制作

    在提供的文件列表中,`group.txt`可能是用于记录联系人分组或其他附加信息的文件,而`406109070304.刘庆帅.通讯录的制作`可能是一个源代码文件,包含了通讯录项目的具体实现。分析这个文件可以帮助理解项目的实际...

    PHP 实现从数据库导出到.csv文件方法

    $stmt = M("Group_order")->field("order_id,order_name,num,price,total_money,contact_name,phone,zipcode,adress,wx_cheap,balance_pay,payment_money,tuan_type,pay_time,pay_type,third_id,is_mobile_pay,paid,...

    C++面向对象(通讯录)设计

    - 在构建通讯录系统时,可能会用到一些设计模式,如工厂模式(用于创建`Contact`或`Group`对象)、单例模式(用于管理通讯录实例)或观察者模式(用于通知用户数据变更)。 9. **用户界面**: - 虽然题目没有明确...

    SQL语句_Scarlett

    5. **分组(GROUP BY)**:用于对数据进行分组,常与聚合函数(如COUNT、SUM、AVG、MAX、MIN)一起使用。例如,`SELECT Country, COUNT(*) FROM Customers GROUP BY Country`统计每个国家的客户数量。 6. **过滤...

    解析Mysql多表查询的实现

    在实际应用中,可能还需要使用聚合函数(如COUNT、SUM、AVG、MAX、MIN)和分组(GROUP BY)来对查询结果进行统计和分组,或者使用HAVING子句来过滤分组后的结果。此外,还可以使用子查询和连接查询的组合来解决更...

    GettingStartedwithSOQL-英文原版.zip

    使用`GROUP BY`子句对数据进行分组,然后可以应用聚合函数。`OFFSET`和`LIMIT`结合使用实现分页,帮助处理大量数据并提高性能。 **7. 动态SOQL** 在Apex代码中,你可以使用字符串构建动态SOQL查询,这在处理未知...

    n7-group.github.io:N7网站

    在`n7-group.github.io-main`文件夹中,我们可能还会发现其他HTML文件,如`index.html`作为首页,以及`about.html`、`contact.html`等子页面,它们通过`<a>`标签的`href`属性相互链接。此外,可能还有图像文件(`....

    sql.examples.navigation.rar_AIR_sql

    4. **航线分析**:通过SQL聚合函数(如COUNT, AVG, SUM等)分析最繁忙的航线、平均飞行时长等。例如,找出最繁忙的航线: ```sql SELECT DepartureAirport, ArrivalAirport, COUNT(*) AS FlightCount FROM ...

    TAC的学习资料

    - **GROUP BY**: 对结果集按一个或多个列进行分组。 - **HAVING**: 类似于WHERE子句,但是应用于分组后的结果集。 - **ORDER BY**: 对结果集排序。 ### 在TAC中使用SQL TAC语言中可以通过集成SQL来实现复杂的数据...

    SQL示例大全.pdf

    FROM Person.Contact WHERE LastName LIKE @find; ``` 这段代码首先选择了 `AdventureWorks` 数据库,接着声明了一个名为 `@find` 的局部变量并将其值设为 `'Man%'`。然后使用 `LIKE` 运算符来查找所有姓氏以“Man...

Global site tag (gtag.js) - Google Analytics