Mysql 如何选择每个类别的有限数据
我有一个名为Category的表,如Mysql 如何选择每个类别的有限数据,mysql,sql,join,Mysql,Sql,Join,我有一个名为Category的表,如 Id Name 1 A 2 B 我有产品表,比如 Id Name Category_id 1 C 1 2 D 1 3 E 1 4 F 2 5 G 2 6 H 2 Product.id Pname Cname 1 C A 2 D A
Id Name
1 A
2 B
我有产品表,比如
Id Name Category_id
1 C 1
2 D 1
3 E 1
4 F 2
5 G 2
6 H 2
Product.id Pname Cname
1 C A
2 D A
3 E A
4 F B
我想从每个类别中选择2个项目。我正在应用这个查询
Select Product.id,Product.name as pname,category.name as cname from product join category where Category_id=Category.id limit 0,4
但它返回产品表的前四个数据,如
Id Name Category_id
1 C 1
2 D 1
3 E 1
4 F 2
5 G 2
6 H 2
Product.id Pname Cname
1 C A
2 D A
3 E A
4 F B
但我想从每个类别中得到2种产品
Product.id Pname Cname
1 C A
2 D A
4 F B
5 G B
如果您运行的是MySQL 8.0,则可以使用行号:
似乎与PHP没有任何关系。我编辑了你的标签。如果您使用与您的特定问题更密切相关的准确标记,而不是您在应用程序中其他地方使用但与此问题无关的技术,那么具有相关技能的人更有可能看到您的问题并能够提供帮助。我们可以不使用子查询来实现这一点吗