国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql - 問(wèn)一個(gè)簡(jiǎn)單的sql語(yǔ)句,查詢一個(gè)商品中分類為 1 2 3 4 5 的 同時(shí)查詢他們的5條

瀏覽:113日期:2022-06-17 14:20:18

問(wèn)題描述

問(wèn)題解答

回答1:

下面是SQL Server的寫(xiě)法

查詢5個(gè)分類,每個(gè)分類最多返回5條

;WITH good(id,[name],cateId)AS( SELECT 1,’A’,1 UNION ALL SELECT 2,’B’,1 UNION ALL SELECT 3,’C’,2 UNION ALL SELECT 4,’D’,2 UNION ALL SELECT 5,’E’, 3 UNION ALL SELECT 6,’R’,3 UNION ALL SELECT 7,’G’,4 UNION ALL SELECT 8,’H’,4 UNION ALL SELECT 9,’R’,4 UNION ALL SELECT 10,’GG’,4 UNION ALL SELECT 11,’HH’,4 UNION ALL SELECT 12,’RR’,4 UNION ALL SELECT 13,’Y’,4 )SELECT * FROM ( SELECT *,ROW_NUMBER()OVER(PARTITION BY g.cateId ORDER BY id) AS rn FROM good AS g WHERE g.cateId BETWEEN 1 AND 5) t WHERE rn<=5

分類4實(shí)際多余5條,但查詢僅返回五條id name cateId rn----------- ---- ----------- --------------------1 A 1 12 B 1 23 C 2 14 D 2 25 E 3 16 R 3 27 G 4 18 H 4 29 R 4 310 GG 4 411 HH 4 5

如果不同分類要返回不同的行,下面是分類1,2,3最多返回2條其他最多返回5條

;WITH good(id,[name],cateId)AS( SELECT 1,’A’,1 UNION ALL SELECT 2,’B’,1 UNION ALL SELECT 3,’C’,2 UNION ALL SELECT 4,’D’,2 UNION ALL SELECT 5,’E’, 3 UNION ALL SELECT 6,’R’,3 UNION ALL SELECT 7,’G’,4 UNION ALL SELECT 8,’H’,4 UNION ALL SELECT 9,’R’,4 UNION ALL SELECT 10,’GG’,4 UNION ALL SELECT 11,’HH’,4 UNION ALL SELECT 12,’RR’,4 UNION ALL SELECT 13,’Y’,4 )SELECT * FROM ( SELECT *,ROW_NUMBER()OVER(PARTITION BY g.cateId ORDER BY id) AS rn FROM good AS g WHERE g.cateId BETWEEN 1 AND 5) t WHERE rn<=case WHEN cateId IN (1,2,3) then 2 ELSE 5 END

如果是MYSQL,沒(méi)有ROW_NUMBER,可以參考下面這樣實(shí)現(xiàn)ROW_NUMBER()OVER(PARTITION BY

SELECT @row_num := IF(@prev_value=cateId,@row_num+1,1) AS rn,id,[name],cateId ,@prev_value := cateId FROM good, (SELECT @row_num := 1) x, (SELECT @prev_value := ’’) y ORDER BY cateId, id回答2:

沒(méi)怎么看懂。類似這樣where 條件1 and 條件2 and 條件3 and 條件4 and 條件5 limit 25可以嗎

回答3:

不知道你是不是要進(jìn)行分組,然后取各個(gè)分組5個(gè)?Here you go

主站蜘蛛池模板: 海安县| 手机| 安化县| 宝丰县| 信阳市| 桂林市| 兖州市| 广州市| 竹北市| 张家界市| 甘肃省| 昭觉县| 荥阳市| 绥江县| 普宁市| 茂名市| 若羌县| 蓬溪县| 郓城县| 屯门区| 济阳县| 治多县| 武平县| 繁昌县| 合作市| 平乡县| 中山市| 奎屯市| 育儿| 隆尧县| 靖宇县| 大同县| 新营市| 遂昌县| 天台县| 宁明县| 宿迁市| 错那县| 泽州县| 三明市| 太康县|