mysql 获取表类型_mysql查询2个表 获取分类和分类列表

展开全部

我只模拟一个   输出 3条商品信息的效果了.

否则 文字又要超长了CREATE TABLE sp_classify (

cid  INT,

cname  VARCHAR(10)

);

INSERT INTO sp_classify  VALUES(1,  '笔记本32313133353236313431303231363533e58685e5aeb931333332623964');

INSERT INTO sp_classify  VALUES(2,  '台式机');

INSERT INTO sp_classify  VALUES(3,  '超级本');

INSERT INTO sp_classify  VALUES(4,  '平板');

CREATE TABLE sp_goods (

cid  INT,

gtitle  VARCHAR(50)

);

INSERT INTO sp_goods VALUES(1,  '笔记本1');

INSERT INTO sp_goods VALUES(1,  '笔记本2');

INSERT INTO sp_goods VALUES(1,  '笔记本3');

INSERT INTO sp_goods VALUES(1,  '笔记本4');

INSERT INTO sp_goods VALUES(1,  '笔记本5');

INSERT INTO sp_goods VALUES(2,  '台式机1');

INSERT INTO sp_goods VALUES(2,  '台式机2');

INSERT INTO sp_goods VALUES(2,  '台式机3');

INSERT INTO sp_goods VALUES(2,  '台式机4');

INSERT INTO sp_goods VALUES(2,  '台式机5');

INSERT INTO sp_goods VALUES(3,  '超级本1');

INSERT INTO sp_goods VALUES(3,  '超级本2');

INSERT INTO sp_goods VALUES(3,  '超级本3');

INSERT INTO sp_goods VALUES(3,  '超级本4');

INSERT INTO sp_goods VALUES(3,  '超级本5');

INSERT INTO sp_goods VALUES(4,  '平板1');

INSERT INTO sp_goods VALUES(4,  '平板2');

INSERT INTO sp_goods VALUES(4,  '平板3');

INSERT INTO sp_goods VALUES(4,  '平板4');

INSERT INTO sp_goods VALUES(4,  '平板5');

SELECT

resultName

FROM

(

SELECT  0  as  seqNo,  cid,  cname  as resultName FROM  sp_classify

UNION ALL

SELECT  CASE WHEN @cn != cid THEN @rownum:= 1

ELSE @rownum:= @rownum + 1  END  as  seqNo,

@cn := cid AS cid,

gtitle  as resultName  FROM  sp_goods,  (SELECT @rownum:=1) r, (SELECT @cn:=0) p

) subQuery

WHERE

SeqNo <=3

ORDER BY

cid,  seqNo;

+------------+

| resultName |

+------------+

| 笔记本     |

| 笔记本1    |

| 笔记本2    |

| 笔记本3    |

| 台式机     |

| 台式机1    |

| 台式机2    |

| 台式机3    |

| 超级本     |

| 超级本1    |

| 超级本2    |

| 超级本3    |

| 平板       |

| 平板1      |

| 平板2      |

| 平板3      |

+------------+

16 rows in set (0.00 sec)

你需要 10行商品的, 就是简单把 sql 语句中的  WHERE   SeqNo <=3

修改为  WHERE   SeqNo <= 10 即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值