易截截图软件、单文件、免安装、纯绿色、仅160KB

Sql查询语句问题 - .NET技术 / ASP.NET

表t1
3个字段CompanyName Product EntryDate
按照时间排序显示前10条数据。
但是,每一加公司所显示的产品记录不能超过2条。
也就是说,有可能前面10条数据都是同一家公司的。那不行,必须一加公司。最多只能2条。

这是我面试碰到的一个问题。苦想了很久,也未能突破。还请高手们指教。谢谢!

 
求高手,自己顶

也就是说只显示5家公司 ? 而且是5家公司里的信息最靠前的2条数据 ??

如果是sql server 2005以上,可以用rank():
select top 10 t.CompanyName, t.Product, t.EntryDate
 from (select CompanyName, Product, EntryDate , rank() as rank over (partition by CompanyName order by entrydate) from t1 order by entrydate) t where t.rank <= 2

有点难度~~~

select * from Tb a where CompanyName in (select top 2 CompanyName from Tb where id=a.id order by CompanyName)


有点麻烦!

如果是sql server 2000,试试这个:

select top 10 a.* from t1 a where (select count(*) from t1 b where a.CompanyName = b.CompanyName and a.EntryDate < b.EntryDate) <= 2

改一下:
select top 10 a.* from t1 a where (select count(*) from t1 b where a.CompanyName = b.CompanyName and a.EntryDate < b.EntryDate) <= 2 order by a.entrydate


合在一起:

sql server 2005以上:
SQL code:

select top 10 t.CompanyName, t.Product, t.EntryDate
from (selec


相关问答:

在asp.net里面脚本出错 - .NET技术 / ASP.NET

function CheckOpwd(){//验证用户名
var pwd=document.all.txtOpwd;

var div1=document.getElementById("divPwd");

if (pwd.value=="")
{
......

sql 问题 - MS-SQL Server / 基础类

需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......

关于Sql的问题 - .NET技术 / ASP.NET

将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊


多谢,可以啦,高手啊

直接执行就行了

exec ......

Access通过Sql语句创建数据库 - .NET技术 / C#

在Access的查询中执行下面的语句,无效,提示期待select ,updata ,...
CreateTble C=Answer N="回帖表"
(
  C=ID T="INTEGER" P=No M=No N="编号" Z=false,
  C=Ques ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号