为了账号安全,请及时绑定邮箱和手机立即绑定

无法获取按 sql 中的组行过滤的行

无法获取按 sql 中的组行过滤的行

PHP
芜湖不芜 2021-10-08 21:24:36
我有一个表,其中有开始日期和结束日期,这些行按唯一 ID 分组,例如行 ID 4,5 有 group_identify_id 5700045,行 ID 1,2,3 有 group_identify_id 5700044。我必须只选择那些组group 的所有行的开始列都大于当前日期。例如。如果当前日期为 15,则结果中不应显示 5700045。id                start                       end        group_identify_id1          2019-07-18 07:15:00  2019-07-18 08:15:00          57000442          2019-07-16 07:15:00  2019-07-16 08:15:00          57000443          2019-07-17 07:15:00  2019-07-17 08:15:00          57000444          2019-07-15 07:15:00  2019-07-15 08:15:00          57000455          2019-07-14 07:15:00  2019-07-14 08:15:00          5700045结果应该是这样的:结果:1          2019-07-18 07:15:00  2019-07-18 08:15:00          57000442          2019-07-16 07:15:00  2019-07-16 08:15:00          57000443          2019-07-17 07:15:00  2019-07-17 08:15:00          5700044我正在尝试这样的事情:$results =  $this->db->where('where('DATE(start) >=',$currentDate)->get('schedule_diary')->result();    但它匹配整行而不是一组行。
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

以下是可以为您提供所需结果的原始查询。

SELECT * FROM schedule_diary WHERE group_identify_id NON IN ( SELECT group_identify_id FROM schedule_diary WHERE start  <= $currentDate) );

您需要将此查询转换为 CodeIgniter 框架,或者您也可以使用 $this->db->query('RawQueryHere')


查看完整回答
反对 回复 2021-10-08
?
炎炎设计

TA贡献1808条经验 获得超4个赞

试试这个查询:

$this->db->where('start >', $currentDate)->get('schedule_diary')->result();


查看完整回答
反对 回复 2021-10-08
  • 3 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信