栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL-返回每个GROUP BY的X号

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL-返回每个GROUP BY的X号

尝试像下面那样为每个组生成行号,然后将行数限制为im以下,以显示每组2个结果。

   Select    `marka_name`, `model_name`, `kuzov`, `mileage`, `year`, `rate`from    (    SELECt     @row_num := IF(@prev_value=main.Model_Name,@row_num+1,1) AS RowNumber,     main.*,    @prev_value := main.Model_Name FROM     main,      (SELECT @row_num := 1) x,          (SELECT @prev_value := '') y WHERe     (         (marka_name = 'SUBARU' AND model_name = 'IMPREZA' AND (kuzov = 'GC8' OR kuzov = 'GF8')) OR         (marka_name = 'MAZDA' AND model_name = 'RX-7' AND kuzov = 'FD3S') OR         (marka_name = 'MITSUBISHI' AND model_name = 'LANCER' AND (kuzov = 'CN9A' OR kuzov = 'CP9A')) OR         (marka_name = 'NISSAN' AND model_name = 'SKYLINE' AND (kuzov = 'ER34' OR kuzov = 'BCNR33')) OR         (marka_name = 'NISSAN' AND model_name = 'SILVIA' AND kuzov = 'S14') OR         (marka_name = 'TOYOTA' AND model_name = 'CELICA' AND kuzov = 'ST205') OR         (marka_name = 'TOYOTA' AND model_name = 'ARISTO' AND kuzov = 'JZS161') OR         (marka_name = 'MITSUBISHI' AND model_name = 'DELICA' AND (kuzov = 'PE8W' OR kuzov = 'PD8W' OR kuzov = 'PF8W'))     )     AND     (rate != 'RA' AND rate != 'RR' AND rate != 'A1' AND rate != 'A' AND rate != 'R' AND rate >= '3')     AND     (mileage >= 0 AND mileage <= 150000)     AND     (year >= 1990 AND year <= 1998) ORDER BY     model_name,     mileage ASC,     rate DESC) A where A.RowNumber<=2

要获得每组2条以上的记录,只需更改最后一个子句的位置(如果您每组要获得10条结果)。写在A.RowNumber <= 10的地方

SQL小提琴演示



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647559.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号