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
相关问答:
function CheckOpwd(){//验证用户名
var pwd=document.all.txtOpwd;
var div1=document.getElementById("divPwd");
if (pwd.value=="")
{
......
需求如下:
学院 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 ......
将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊
多谢,可以啦,高手啊
直接执行就行了
exec ......
在Access的查询中执行下面的语句,无效,提示期待select ,updata ,...
CreateTble C=Answer N="回帖表"
(
C=ID T="INTEGER" P=No M=No N="编号" Z=false,
C=Ques ......