MySQL在递增日期的同时查询重复行x次

标签 mysql date duplicates rows

我有一个管理水上运动中心类(class)的数据库。我有一个相对复杂的 SQL 查询,它将创建一个包含以下列的表。

“类(class)标题”、“开始日期”、“持续时间(天)”

例如。

 XYZ Sailing Course       12/01/17    3  
 ABC Windsurfing Course   13/01/17    2

我想创建一个 View /查询,其中有一行代表类(class)的每一天。所以对于上面的内容会显示

  XYZ Sailing Course       12/01/17 
  XYZ Sailing Course       13/01/17
  ABC Windsurfing Course   13/01/17     
  XYZ Sailing Course       14/01/17 
  ABC Windsurfing Course   14/01/17

幸运的是,如果一门类(class)在同一时间运行几天,因此只有日期字段需要在其他重复的行中更改。而且日子总是连续的,如果一个类(class)持续几天,中间就永远不会有间隙。有没有一种优雅的方式来创建我没有想到的输出(甚至是一种困惑的方式 - 我被困住了!)

提前非常感谢您提供的任何信息。

最佳答案

好吧,有点乱,但是在@barmar的帮助下我解决了

我调整了原始查询中的行,为我提供了“开始日期”和“完成日期”列,然后执行了以下操作

SELECT 
        `a`.`Date` AS `Date`,
        Other rows required go here
    FROM
        ((SELECT 
            (CURDATE() - INTERVAL ((`a`.`a` + (10 * `b`.`a`)) + (100 * `c`.`a`)) DAY) AS `Date`
        FROM
            ((((SELECT 0 AS `a`) UNION ALL SELECT 1 AS `1` UNION ALL SELECT 2 AS `2` UNION ALL SELECT 3 AS `3` UNION ALL SELECT 4 AS `4` UNION ALL SELECT 5 AS `5` UNION ALL SELECT 6 AS `6` UNION ALL SELECT 7 AS `7` UNION ALL SELECT 8 AS `8` UNION ALL SELECT 9 AS `9`) `a`
        JOIN (SELECT 0 AS `a` UNION ALL SELECT 1 AS `1` UNION ALL SELECT 2 AS `2` UNION ALL SELECT 3 AS `3` UNION ALL SELECT 4 AS `4` UNION ALL SELECT 5 AS `5` UNION ALL SELECT 6 AS `6` UNION ALL SELECT 7 AS `7` UNION ALL SELECT 8 AS `8` UNION ALL SELECT 9 AS `9`) `b`)
        JOIN (SELECT 0 AS `a` UNION ALL SELECT 1 AS `1` UNION ALL SELECT 2 AS `2` UNION ALL SELECT 3 AS `3` UNION ALL SELECT 4 AS `4` UNION ALL SELECT 5 AS `5` UNION ALL SELECT 6 AS `6` UNION ALL SELECT 7 AS `7` UNION ALL SELECT 8 AS `8` UNION ALL SELECT 9 AS `9`) `c`)) `a`
        JOIN `MyDB`.`All Courses`)
    WHERE
        (`a`.`Date` BETWEEN `All Courses`.`Start Date` AND `All Courses`.`Finish Date`)

其中“所有类(class)”是包含所有其他行的 SQL View 。谢谢大家,全部已修复!

关于MySQL在递增日期的同时查询重复行x次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41622887/

相关文章:

javascript - vscode,javascript : How to get warnings when I have duplicate variables in object

java 准备好的语句查询返回错误,但如果我打印它并直接在数据库上执行,它就可以工作

php - PHP我的管理员突然停止工作

r - 在数据框中的重复数据之间进行选择

python - 在 pandas 中拆分和复制行

php - 根据 Woocommerce 产品循环中的日期时间规则显示下一个交货日

java - 无法连接到数据库 [db] MySql Play Frameworks 2.5.10

mysql - Azure sql - 如何查看表数据(.net后端)

MySQL,如何使用 PHP 验证字符串日期?

java - 如何在 SharedPreferences 中保存和检索日期