php 近一周数据,php – MYSQL获取每周数据的有限数据

我正在向用户显示当前周事件..从当前日期获取数据到当前日期值的7天..它已经实现了

通过使用这些查询

SELECT * from events WHERE ( start_date BETWEEN '2013-01-01' AND '2013-01-07' ) order by start_date ASC

我有问题,如果,

start_date 2013-01-01 have 10 records

start_date 2013-01-02 have 1 records

start_date 2013-01-03 have 12 records

....

...

然后从DB获取数据需要更多时间..

所以,我每天只需要显示3个数据

我的表格,

id start_date end_date event_title

1 2013-01-01 2013-01-03 event_1

2 2013-01-01 2013-01-01 event_2

3 2013-01-01 2013-01-01 event_3

4 2013-01-01 2013-01-01 event_4

- 2013-01-01 2013-01-01 event_4

- 2013-01-01 2013-01-01 event_4

5 2013-01-02 2013-01-02 event_5

6 2013-01-03 2013-01-03 event_6

7 2013-01-03 2013-01-03 event_7

8 2013-01-03 2013-01-03 event_8

9 2013-01-03 2013-01-03 event_9

10 2013-01-04 2013-01-04 event_10

预期产量为,

id start_date end_date event_title

1 2013-01-01 2013-01-03 event_1

2 2013-01-01 2013-01-01 event_2

3 2013-01-01 2013-01-01 event_3

4 2013-01-02 2013-01-02 event_5

5 2013-01-03 2013-01-03 event_6

6 2013-01-03 2013-01-03 event_7

7 2013-01-03 2013-01-03 event_8

8 2013-01-04 2013-01-04 event_10

任何人都可以帮助解决这些……

可以在单个查询中

解决方法:

此查询应该有效

SET @level = 0;

SET @group = '';

SELECT

*

FROM (

SELECT

id,

start_date,

end_date,

event_title,

@level := IF(@group = start_date, @level+1, 1) AS LEVEL,

@group := start_date AS StartDate

FROM test

/*WHERE start_date BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY)*/

ORDER BY start_date

) rs

WHERE LEVEL < 4

这将在每个日期获取3条记录.如果您想根据需要在条件取消注释的情况下申请

Demo

标签:php,mysql,date,select

来源: https://codeday.me/bug/20190517/1123419.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值