mysql - 仅第一个开始日期和最后一个完成日期

标签 mysql sql database reporting

我在第一个seminarsessions中有两个数据库表,有:

     id     | knowntime    |  
    --------+--------------+ 
       1    | 1            |  
       2    | 0            |  
       3    | 1            |  

在第二个表seminarsessions_date中,有每个日期时间戳以及datefromdateuntil 此日期:

   id | dateid | seminarsessionid | datefrom | dateuntil
    --------+--------------+------+----------+----------
    1 | 312     | 3               |1462863600| 1462867200
    2 | 123     | 3               |1450944000| 1451206800
    3 | 543     | 3               |1464868800| 1464872400

如何仅显示每个研讨会的已知时间第一个日期最后 日期直到

最佳答案

您可以使用派生表来完成此操作,其中包含表seminarsessions_date中已聚合的值:

SELECT t1.id, t1.knowntime, t2.datefrom, t2.dateuntil
FROM seminarsessions
LEFT JOIN (
   SELECT seminarsessionid, 
          MIN(datefrom) AS datefrom,
          MAX(dateuntil) AS dateuntil
   FROM seminarsessions_date
   GROUP BY seminarsessionid 
) AS t2 ON t1.id = t2.seminarsessionid

派生表t2包含第一个datefrom最后dateuntil值每个seminarsessionid

关于mysql - 仅第一个开始日期和最后一个完成日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37658749/

相关文章:

mysql - ruby、rubygems 和 rails——让一切都在正确的地方!

mysql - 如何将所有权限恢复到 MySQL 中的 root 用户?

php - 优化MYSQL(三)表连接查询

MySql 查询按一天中的小时统计当前访客数量

sql - 如何在一个存储过程返回多个表的 RDLC 报告中检索数据集

mysql - 数据库分析 - 带有定时条目的行

可能有*非常*多列的 MySql 表

双连接中的 SQL 最大条件

sql-server - 在 SQL Server 中如何处理列名中的空格?

php - MYSQL 的 Google OAuth 2.0 用户 ID 数据类型