gpt4 book ai didi

mysql - 选择一行中的一个

转载 作者:行者123 更新时间:2023-11-29 11:34:37 24 4
gpt4 key购买 nike

SELECT 
v.ID,
v.PhotoID,
COUNT(*) AS Cnt,
p.PhotoWidth,
p.Dir
FROM `views` v
JOIN `photos` p
ON v.PhotoID = p.ID
GROUP BY v.PhotoID DESC
ORDER BY Cnt DESC

我有上面的MySQL命令。这很有效,但在照片表中,每张照片都链接到一个目录 ID。

我现在想要的只是每个 Dir id 中的一行。

我该怎么做?

最佳答案

您需要删除其他列。您需要将聚合函数应用于除目录 id 之外的所有列,如下所示。如果您需要其他列,请将聚合函数应用于所有列,例如计数。我使用 1 代替 * 来提高查询性能。

SELECT     COUNT(1) AS Cnt,     p.Dir from `photos` p GROUP BY p.Dir DESC ORDER BY Cnt DESC

更新:

因此,如果您想获取最多浏览次数的 photoID,以下查询将会有所帮助。

SELECT     p.ID,     v.CountRec AS CntFROM `photos` p join (select PhotoID, count(1) CountRec from `views` group by PhotoID) v    ON p.ID= v.PhotoIDORDER BY Cnt DESC

关于mysql - 选择一行中的一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36830574/

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