1、递归查询父分类下的各个子分类。表设计:

SQL:

--CTE 语句(适用于MSSQL2005以后版本)
with cte_testNavi(Id,Name,Pid )
as
(
--这是查询语句
SELECT Id,Name,Pid FROM Navi
WHERE Name='汽车'
union all
--这是需要递归的部分,CTE 自身调用完成循环递归查找
SELECT a.Id,a.Name,a.Pid FROM Navi a
INNER JOIN
cte_testNavi b
ON
(a.Pid=b.Id)
)
select * from cte_testNavi

2、查询每个商品分类中最贵的前两个商品SQL

表设计:

SQL:

--要求根据商品分类取出每个商品下最贵的前两个物品
-- OVER( partition by c.ClassID order by i.Price DESC)over 开窗函数可以避免group by带来的不包含在子列的情况,
--但是开窗函数会返回多行结果,要根据使用情况去判定,比如这里我要按照ClassID商品类别ID进行分组
--RANK函数微软的定义是:返回结果集分区内每行的排名。一行的排名是一个加上所涉及行之前的行列数。
--比如这里我按Price价格去排序,取出每个分类下最贵的商品从上到下排序
SELECT * FROM
(
SELECT i.Price,i.CommodityName,c.ClassName,RANK() OVER( partition by c.ClassID order by i.Price DESC) rank2
FROM CommodityInfo i
INNER JOIN CommodityClass c
ON i.CommodityClass=c.ClassID
)R
WHERE rank2<=2;

最新文章

  1. C#_基本类型
  2. EntityFramework 更新表结构到数据库
  3. POJ1850 Code(组合+康托展开)
  4. 《分销系统-原创第一章》之“多用户角色权限访问模块问题”的解决思路( 位运算 + ActionFilterAttribute )
  5. System Operations on AWS - Lab 5W - Managing Resources (Windows)
  6. 树莓派做AP发射wifi(RTL8188CUS芯片) 分类: shell ubuntu Raspberry Pi 2014-11-29 01:25 822人阅读 评论(0) 收藏
  7. iOS workspace 依次编译多个工程
  8. decode-ways(动态规划)
  9. Dynamics CRM 导入用户数据错误 could not retrieve salesperson role
  10. SourceTree 文件被锁异常
  11. Mvc_model实体数据验证
  12. (binary_search) Can you find it hdu2141
  13. 如何将MP3录音转文字
  14. selenium+java-查找页面中包含关键字的URL
  15. Baidu 推荐技术平台(offer)
  16. [Angular 6] 初学angular,环境全部最新,[ ng serve ] 不能启动,卡在 95% 不动 =&gt; 解决方案
  17. 字段计算器VBS
  18. js数字进制转换
  19. shell之lvm
  20. java动态代理(JDK和CGLIB)笔记

热门文章

  1. spring boot mysql 事务
  2. linux 网卡配置文件详解2018-03-07
  3. Django重新整理2
  4. 性能测试工具LoadRunner31-LR之链接mysql
  5. 性能测试工具LoadRunner20-LR之Controller Service-Level Agreement(服务水平协议)
  6. Fedora14 mount出现错误时解决办法【亲测有效】
  7. stm32 窗口看门狗学习(一)
  8. plsql窗口列表保持
  9. gdb调试汇总
  10. node搭环境(三)之安装vue-devtools