如何在我的查询中使用函数max current date

oo7oh9g9  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(343)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

两年前关门了。
改进这个问题
我有两个问题。我想得到 MAX date . 如果我得到 MAX date 我的子查询如下所示。
查询1:

select
   tb_format.format 
from
   tb_format 
where
   tb_format.id not in 
   (
      select
         penyakit.format 
      from
         penyakit 
      where
         penyakit.id_puskesmas =$ id 
         AND MONTH(penyakit.waktu_upload) = MONTH(CURRENT_DATE)
   )

我想补充一下 MAX 在这上面 MONTH(penyakit.waktu_upload) .
问题2:

select
   tb_format.format 
from
   tb_format 
where
   tb_format.id not in 
   (
      select
         penyakit.format 
      from
         penyakit 
      where
         penyakit.id_puskesmas =$ id 
         AND MAX(MONTH(penyakit.waktu_upload)) = MONTH(CURRENT_DATE) -- HERE
   )

但是,我得到一个错误:

mspsb9vt

mspsb9vt1#

你不能有 MAX 在where子句中,您可以将它放在having子句中(这解释了更多的区别)。。。

select
     penyakit.format 
  from
     penyakit 
  where
     penyakit.id_puskesmas =$ id 
  group by 
     penyakit.format
  having
     MAX(MONTH(penyakit.waktu_upload)) = MONTH(CURRENT_DATE)

必须有一个groupby子句,这为max操作提供了基础,having子句几乎是groupby的where子句。
不知道是怎么回事 $ id 所以我只是从你的原始代码复制,但这将需要纠正。

相关问题