gpt4 book ai didi

php - 在 mysql 查询中正确使用 group by 和 order by

转载 作者:行者123 更新时间:2023-11-29 01:52:50 25 4
gpt4 key购买 nike

我正在尝试从数据库中获取用户拥有的最新证书。我只想查看最新的而不是所有其他的,所以我使用分组依据,然后按主表中的唯一 ID 进行排序。

没有 group by 这个就完美了。我看到最后上传的证书,然后是下面的所有其他证书。

一旦我添加组,我就会看到有史以来上传的第一个证书,这可能是多年前的毫无意义。

我的查询非常大,因为我要从其他表中提取大量其他信息。

这是我的查询。

    SELECT 
usercert.*,
cert.*,
certCat.certCatName,
certTask.certTaskName ,
certStatus.certStatusName
FROM
`usercert`
INNER JOIN
cert
ON
cert.idcert = usercert.idcert
INNER JOIN
certCat
ON
certCat.idcertCat = cert.idcertCat
INNER JOIN
certTask
ON
certTask.idcertTask = usercert.idcertTask
INNER JOIN
certStatus
ON
certStatus.idcertStatus = usercert.idcertStatus
WHERE
usercert.iduser=%s
GROUP BY
usercert.idcert
ORDER BY
usercert.usercertEnd DESC

最佳答案

SELECT 
usercert.*,
cert.*,
certCat.certCatName,
certTask.certTaskName ,
certStatus.certStatusName
FROM
`usercert`
INNER JOIN
cert
ON
cert.idcert = usercert.idcert
INNER JOIN
certCat
ON
certCat.idcertCat = cert.idcertCat
INNER JOIN
certTask
ON
certTask.idcertTask = usercert.idcertTask
INNER JOIN
certStatus
ON
certStatus.idcertStatus = usercert.idcertSttus
WHERE
usercert.iduser=%s
ORDER BY
usercert.usercertEnd
DESC limit 0,1

在此查询中,它将按降序获取所有记录,这意味着最后插入的行将排在第一位,限制 0,1 意味着它将从 0 开始并获取 1 条记录,就这样......

关于php - 在 mysql 查询中正确使用 group by 和 order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36713947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com