gpt4 book ai didi

php - 带有类别的棘手的mysql查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:48 26 4
gpt4 key购买 nike

这是我的数据结构:

category_main
id name
---------------------
1 catmain1
2 catmain2

category_sub
id name id_catmain
---------------------
1 catsub1 1
2 catsub2 1
3 catsub3 2

images
id name catsub
---------------------
1 image1 1
2 image2 1
3 image3 2
4 image4 3

期望的输出:

id_catmain  catmain    images_total
--------------------------------------------------
1 catmain1 3
2 catmain2 1

问题是获取每个主要类别的图像总量..我尝试了类似(作为 View )

select categories.*, group_concat(id) as all_cat from categories group by id_catmain 

然后使用 FIND_IN_SET 查询该 View .. 但我认为一定有更好的方法只使用一个查询。有任何想法吗?谢谢

最佳答案

我认为按照这些思路应该可行:

SELECT c.id, c.name, COUNT(*) AS images_total FROM images i
JOIN category_sub cs ON cs.id = i.catsub
JOIN category_main c ON c.id = cs.id_catmain
GROUP BY c.id

您基本上要做的是将图像表的所有行绑定(bind)到它们代表的子类别,然后通过子类别 ID 将主要类别绑定(bind)到同一行。然后您可以简单地计算所有行,按所有不同的主要类别 ID 对计算的行数进行分组。

关于php - 带有类别的棘手的mysql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34242312/

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