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
相关问答:
C# code:
SqlConnection conn = CsDB.sqlcon();
SqlDataAdapter da = new SqlDataAdapter("select fwCoding from bjmuma_fwCoding where OrderNumber='" + Order + & ......
1.asp.net做的一个答题页面,如何实时限时后自动提交,请大家给点思路
限时的时间信息存放在数据库中
2.如果答题时间设置的较长,如何方式session超时后页面无效
谢谢
用js方法来控制
回复内容太短了。。
js ......
需求如下:
学院 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 ......
A表 有两个字段
id 唯一数字域
InfoTxt text 类型
我现在要把 id 不是14 的所有 InfoTxt字段 文本后面 都加上 'aaa'
按下面执行下来 只有表最后一行加上了 'aaa' ......