【问题标题】:display dates in specific days using sql or php使用 sql 或 php 显示特定日期的日期
【发布时间】:2017-08-28 23:21:44
【问题描述】:

我在表格中将这些日期作为产品 _dates

9--2017-8-28

8--2017-8-27

7--2017-8-26

6--2017-8-25

5--2017-8-24

4--2017-8-23

3--2017-8-22

2--2017-8-21

1--2017-8-20

所以我想检索从当前日期开始的过去 7 天,如下所示

7--2017-8-28

6--2017-8-27

5--2017-8-26

4--2017-8-25

3--2017-8-24

2--2017-8-23

1--2017-8-22

之后,我想在特定日期显示这些日期,如下所示

7--2017-8-28

5--2017-8-26

3--2017-8-24

2--2017-8-23

1--2017-8-22

如您所见,日期数字 4 和 5 不会显示它们

这怎么可能?? 希望你能理解我的问题

【问题讨论】:

  • 不确定我是否关注。您是否总是希望约会在第 3、第 5 和第 7 位?如果是这样,您为什么将日期列在最后的第 1 位和第 2 位?
  • 感谢您的快速响应,是的,我希望它们按相同的顺序进行
  • 你不是跳过4和6吗?您是否尝试仅显示过去 5 个工作日?
  • 是的,跳过4和6,这是我想要的,但我不知道该怎么做

标签: php mysql sql


【解决方案1】:

检查一下:

SELECT product_date FROM (
    SELECT product_date , @row := @row + 1 as row, t.* 
    FROM table, (SELECT @row := 1) r
    WHERE product_date >= (NOW() - INTERVAL 7 DAY)
    ORDER BY product_date DESC LIMIT 7
)
WHERE row IN (7, 5, 3, 2, 1)

我现在无法测试查询,但希望你明白:

  1. 选择过去 7 天的记录
  2. 为结果添加编号
  3. 从该结果中,仅选择具有所需行号的行

【讨论】:

    猜你喜欢
    • 2014-11-18
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2021-11-25
    相关资源
    最近更新 更多