需要帮助来解决此查询 [英] Need help in resolving this query

查看:56
本文介绍了需要帮助来解决此查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好



我有以下数据



Hi all

I have data like below

Itemcode   itemname   price   dept
1          aa         100     ABC
2          bb         200     DEF
3          cc         300     ABC
4          dd         400     CCA
5          ee         500     DEF
6          ff         600     CCA
7          gg         99      CCA
8          hh         80      ABC
9          ii         114     DEF
10         jj         677     DEF
11         kk         432     CCA
12         ll         223     ABC





i想要每个部门的前三项。



请告诉我怎么做。



谢谢



i want top 3 items from each dept.

Please tell me how to do this.

Thank you

推荐答案

试试这个:

Try this:
--top 3 by itemname
SELECT *
FROM (
    SELECT ROW_NUMBER() OVER(PARTITION BY dept ORDER BY itemname) AS RowNo, Itemcode, itemname, price, dept
    FROM TableName
) AS T
WHERE RowNo<4

--top 3 by price
SELECT *
FROM (
    SELECT ROW_NUMBER() OVER(PARTITION BY dept ORDER BY price) AS RowNo, Itemcode, itemname, price, dept
    FROM TableName
) AS T
WHERE RowNo<4





如需了解更多信息,请参阅: ROW_NUMBER() [< a href =http://msdn.microsoft.com/en-us/library/ms186734.aspxtarget =_ blanktitle =新窗口> ^ ]


你可以试试这个: -



SELECT DISTINCT itemname,price,dept

FROM table_name

ORDER BY itemname,price,dept;
You can try this:-

SELECT DISTINCT itemname,price,dept
FROM table_name
ORDER BY itemname,price,dept;


这篇关于需要帮助来解决此查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆