当前位置: 首页 > 面试题库 >

mysql-组,但显示列的所有行

司寇高峯
2023-03-14
问题内容

我想对字段进行分组,但想显示称为的列的所有行remain

这是mysql查询:

SELECT staff.name,
  staff.designation_id_designation,
  staff.status_id_status,
  Concat_Ws('=', leave_remain.leave_type_id_leave_type, leave_remain.days) AS
  remain
FROM staff INNER JOIN
  leave_remain ON staff.id_staff = leave_remain.staff_id_staff
GROUP BY staff.name

问题答案:

使用 GROUP_CONCAT

SELECT  staff.name,
        staff.designation_id_designation,
        staff.status_id_status,
        GROUP_CONCAT(Concat_Ws('=', leave_remain.leave_type_id_leave_type, leave_remain.days)) AS remain
FROM    staff 
        INNER JOIN leave_remain 
            ON staff.id_staff = leave_remain.staff_id_staff
GROUP   BY staff.name, staff.designation_id_designation, staff.status_id_status
  • SQLFiddle演示

其他链接

  • MySQL GROUP_CONCAT


 类似资料:
  • 产品:Sybase ASE 11/12/15/16 我希望更新由不同的应用程序调用的存储过程,所以更改应用程序不是一个选项。需要什么最好用例子来解释: 目前的结果: 我需要的是清除第一列的重复数据。例如,上述数据应如下所示: 我知道我可以做光标,但大约有10000条记录,这似乎并不熟练。查找select命令时,不希望更改数据库中的数据。

  • 每个JTable都包含在一个JScrollPane中。(IDE已经插入)现在,JTable的高度是固定的。因此,如果元素的数量较少,则在JScrollPane中显示空空间。如果元素的数量更多,用户需要滚动包含JTable的JScrollPane。JTable的水平滚动也是如此。如果窗口最大化,JTable的宽度也会增加,以占据整个可用区域。是否可以修改GUI,使JScrollPane的高度变得足够

  • 问题内容: 我有一个包含大量数据的数据库。我想选择所有数据,但是按一列分组。 因此,例如: 在示例列中,A是具有重复值且需要分组的列。但是B列具有不同的值,我想选择所有这些值。 最后,我想得到一个查询,导致: B列的值在jQuery手风琴中。 我已经尝试并搜索了几个小时,但仍然没有找到一种方法来进行此操作。 编辑: 我已经设法使用戈登提供的答案解决问题。使用PHP,我分解了查询结果,并通过whil

  • 我试图创建一个JPA项目,eclipse确实连接到数据库,但是没有显示任何表。数据库确实有表,用户“约翰”拥有数据库中的所有许可。从提示符或使用MySQL客户端执行查询没有问题。 下面是"驱动程序属性"中的连接设置: 驱动程序:MySQL JDBC驱动程序 数据库:myDatabase URL:JDBC:mysql://localhost:3306 用户名:john 密码:****** “测试连接

  • 问题内容: 这个问题已经在这里有了答案 : 从日期范围生成天数 (29个答案) 7年前关闭。 我想显示a 和MySQL中的日期之间的所有日期。 例如,具有和字段的表中的数据为: 日期是和 日期, 我想要的结果是: 如何仅使用MySQL查询来实现此目的(而不必使用存储过程,因为我对此并不熟悉)? 编辑: 尽管我仍然没有完全得到想要的结果,但是这里的答案很有帮助。在此示例中,它仅成功运行,但不输出任何

  • 问题内容: 因为我在那里看到很多进程,所以“时间”列显示了所有这些进程的重要价值。 问题答案: 您需要一个一个地杀死它们,MySQL没有任何大量的kill命令。您可以使用任何语言编写脚本,例如在PHP中,您可以使用类似以下内容的脚本: