【发布时间】:2015-12-02 16:55:24
【问题描述】:
我想选择使用cats 加入表和data。加入cats.id = data.cat_id。每个唯一类别 ID cat.id 的表行限制为 3 data
表:cats
id | parent_id | name
---+-----------+--------
1 | 0 | Games
2 | 0 | Music
3 | 0 | Apps
表:data
--------------------------
id | cat_id | data
---+---------+------------
1 | 1 | Cat1 Data1
2 | 1 | Cat1 Data2
3 | 1 | Cat1 Data3
4 | 1 | Cat1 Data4
---+---------+------------
5 | 2 | Cat2 Data1
6 | 2 | Cat2 Data2
7 | 2 | Cat2 Data3
8 | 2 | Cat3 Data4
---+---------+------------
9 | 3 | Cat3 Data1
10 | 3 | Cat3 Data2
11 | 3 | Cat3 Data3
12 | 3 | Cat3 Data4
我想像下面这样。对于每行一个 cats 选择三个 data 行选择。
category | data
----------+------------
Games | Cat1 Data1
Games | Cat1 Data2
Games | Cat1 Data3
----------+------------
Music | Cat2 Data1
Music | Cat2 Data2
Music | Cat2 Data3
----------+------------
Apps | Cat3 Data1
Apps | Cat3 Data2
Apps | Cat3 Data3
如果 group_concat 和 , 不可行,也适用于我。我会用php拆分。
cat_name | data
----------+-------------------------------------
Book | Cat1 Data1, Cat1 Data2, Cat1 Data3
Music | Cat2 Data1, Cat2 Data2, Cat2 Data3
Game | Cat3 Data1, Cat3 Data2, Cat3 Data3
【问题讨论】:
-
哪个是引擎(mysql 或 sql-server)?
-
很难准确理解您想要什么,但似乎您可以通过在多个查询上使用
UNION来完成您想做的事情,同时将每个查询限制为前 3 项。 -
mysql和xampp我开发一个php应用
-
我要选择5个分类项和groupconat 3个数据表列