我正在我的Web应用程序中尝试此操作:

$data = date("Y-m-d", strtotime("-15 days", strtotime(date("Y-m-d"))));

$sql = "SELECT DISTINCT(Cliente.idCliente), Cliente.nomeCliente, Cliente.email, Cliente.cpf
        FROM Cliente, Pontuacao
        WHERE Cliente.idCliente = Pontuacao.idCliente
        AND DATE_FORMAT(MAX(Pontuacao.timestampPontuacao), '%Y-%m-%d')='".$data."'
        AND Cliente.receberMensagens=1
        AND Cliente.numEstabelecimento='".$reg['numEstabelecimento']."'";


我直接在phpMyAdmin中测试了查询,如下所示:

SELECT DISTINCT(Cliente.idCliente), Cliente.nomeCliente, Cliente.email, Cliente.cpf
FROM Cliente, Pontuacao
WHERE Cliente.idCliente = Pontuacao.idCliente
AND DATE_FORMAT(MAX(Pontuacao.timestampPontuacao), '%Y-%m-%d')='2016-03-28'
AND Cliente.receberMensagens=1
AND Cliente.numEstabelecimento=2


但是,出现以下错误:


  #1111-无效使用组功能


我知道这是因为行

AND DATE_FORMAT(MAX(Pontuacao.timestampPontuacao), '%Y-%m-%d')='2016-03-28'


但我不知道该如何解决。我该如何解决?

最佳答案

SELECT Cliente.idCliente, Cliente.nomeCliente, Cliente.email, Cliente.cpf
FROM Cliente
JOIN Pontuacao ON Cliente.idCliente = Pontuacao.idCliente
WHERE Cliente.receberMensagens=1
AND Cliente.numEstabelecimento=2
GROUP BY Cliente.idCliente, Cliente.nomeCliente, Cliente.email, Cliente.cpf
HAVING DATE_FORMAT(MAX(timestampPontuacao)), '%Y-%m-%d') = '2016-03-28'

关于php - PHP/MySQL在WHERE/AND子句中获得最大日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37486779/

10-15 12:17