看板 Database 關於我們 聯絡資訊
可以用sursor 來撰寫阿 declare @type varchar(10) declare @dt datetime select @type='數學' ,@dt='2000/1/1' declare @terms varchar(10) declare @data table (id_ varchar(10),time_ datetime,trems_ varchar(10),value_ numeric(100)) declare lop cursor fast_forward for select terms from B grouop by terms open lop fetch next from lop into @terms while @@fetch_status = 0 begin insert @data select top 100 id_,time,terms ,varue from B where terms=@type order by terms,value desc fetch next from lop into @terms end close lop deallocate lop select b.id, a.name , b.terms, b.value from A a ,B b where a.id=b.id 大概是這樣寫吧 詳細的可能你要修一下寫法 ※ 引述《kazumi6533 (patrick)》之銘言: : 請問一下 : 我有一個表A(id, name), 表B(id, time, terms, value) : 例如 A(001, 某甲), B(001, 2000/1/1, 數學, 100分) : 然後我想透過terms跟value排序 : 例如2001/1/1 數學,然後照分數高低排 : 接下的順序裡面,前100名再按照英文排,以此類推 : 有辦法直接透過SQL寫出類似的查詢嗎? : 或者是我一定要把2000/1/1的資料全部撈出來 : 然後自己用程式排序篩選? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.177.178