SQL 找出一個表中各個分類的前三條記錄
select QuestionId,CategoryId,Title from QA_Questions a where
a.QuestionId<=
(selectmax(c.QuestionId) from
(selecttop3 QuestionId from QA_Questions b where b.CategoryId=a.CategoryId) c)
orderby CategoryId
SQL2000的寫法二:
select a.questionid,a.categoryid
from dbo.QA_Questions a
where Questionid in (
orderby Questionid desc)orderby a.categoryid asc
SQL2005的寫法:
WITH NewTable AS(
SELECT*,RANK() OVER(PARTITION BY CategoryId OrderBY QuestionId) RANK
FROM QA_Questions)
SELECT*FROM NewTable
WHERE RANK <4
---以下是時間測試,結果為189:266
declare@t
select*from QA_Questions a where
a.QuestionId<=
(selectmax(c.QuestionId) from
(selecttop3 QuestionId from QA_Questions b where b.CategoryId=a.CategoryId) c)
orderby CategoryId
selectDateDiff( ms,@t,getdate());set@t=getdate()
begin
WITH NewTable AS(
SELECT*,RANK() OVER
FROM QA_Questions)
SELECT*FROM NewTable
WHERE RANK <4
end
selectDateDiff( ms,@t,getdate());set@t=getdate()
select a.questionid,a.categoryid
from dbo.QA_Questions a
where Questionid in (selecttop3 Questionid from QA_Questions where categoryid=a.categoryid
orderby Questionid desc)orderby a.categoryid asc
selectDateDiff( ms,@t,getdate())
相關推薦
SQL 找出一個表中各個分類的前三條記錄
SQL2000的寫法一:select QuestionId,CategoryId,Title from QA_Questions a where a.QuestionId<=(selectmax(c.QuestionId) from (selecttop3 QuestionId from QA_Q
sql之將一個表中的數據註入另一個表中
一個表 .com 分享 兩個 image hbm inf left info sql之將一個表中的數據註入另一個表中 需求:現有兩張表t1,t2,現需要將t2的數據通過XZQHBM相同對應放入t1表中 t1: t2: 思路:left join
【sql語句】一個表中含有id和父親id,統計父親有多少個孩子
將表和他自己連線~ select * from tb_comment a left join tb_comment b on b.c_fatherid=a.cid 得到右側有空的結果,空的地方count(*)會被統計,用count(column)不會被統計~ 1)count(*
LeetCode:5. Longest Palindromic Substring(找出一個字串中最大的子迴文串)
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of sis 1000. Example 1: Input
python實現:找出單鏈表中的倒數第K個元素
1、為了找出倒數第k個元素,最容易想到的辦法是首先遍歷一遍單鏈表,求出整個單鏈表的長度n,然後將倒數第k個,轉換為正數第n-k個,接下來遍歷一次就可以得到結果。但是該方法存在一個問題,即需要對連結串列進行兩次遍歷,第一次遍歷用於求解單鏈表的長度,第二次遍歷用於查詢正數第n-k
python字串面試題:找出一個字串中第一個字母和最後一個字元是第一次重複,中間沒有重複且最長的子串
1.給出任意一個字串,列印一個最長子串字串及其長度,如果有相同長度的子字串,都要一起打印出來,該子字串滿足以下條件, 第一個字母和最後一個字元是第一次重複 這個子字串的中間字母沒有重複 這個子字串是滿足條件裡面的最長的 如: adsasadmasd 中滿足條件的是dmasd im
找出一個字串中最長並且不重複的子字串,要求時間複雜度越小越好
題目:找出一個字串中長度最長並且不含重複字元的子字串; 要解決這個問題有多種解法,在這裡我們來實現一種時間複雜度最小的方法,使用了雜湊值 程式碼如下:最終,時間複雜度為O(n),是用空間換時間來實現的。 //最長字元,開始位置的索引 public int startI
js演算法:找出一個字串中出現次數最多的字元!
在其他部落格裡面看到了一種方法: 這個方法很簡單,但是15-20行程式碼對於萌新來說,不是很好理解,因此我給出了以下這個方案,先想辦法統計出所有字母各出現的次數,然後把這些次數push到一個數組裡面,找出最大的那個數(我這裡是通過排序找出的最大數),最大數有了,該數對應的字元不就很容易
[演算法]找出單鏈表中的倒數第k個元素
找出單鏈表中的倒數第k個元素 解題思路: 為了求出連結串列中的倒數第k個元素,最容易想到的方法是首先遍歷一遍單鏈表,求出整個單鏈表的長度n,然後將倒數第k個,轉換為正數第n-k個,接下去遍
Java:如何找出單鏈表中的倒數第k個元素
設定兩個指標,相差k個節點。//如何找出單鏈表中的倒數第k個元素 public class findelem { public static Node method(Node head,int k)
Python 實現 找出一個字串中出現次數最多的字元並輸出該字元
'''演算法題二: 找出一個字串中出現次數最多的字正確的解決思路是: 利用collections 工具中的Counter,對列表中元素出現的頻率進行排序。 Counter返回值是一個按元素出現頻率降序排列的Counter物件,它是字典的子類,因此可以使用字典的方法'''fro
尋找一個字串中的最長重複子串(字尾陣列)&找出一個字串中最長不重複子串
一、尋找一個字串中的最長重複子串(字尾陣列) 字尾陣列其實可以看尋找一個字串中的最長重複子串(字尾陣列)作一個由字串s倒數i個字元組成的子串的集合,其中0<i<s.length(),例如 字串strstr的字尾陣列為: {r,tr,str,rstr,trstr,
淺談sql server把一個表中查詢出來的資料插入到另外一個表中
1、 insertintoA([id], ids,[name], type, time) select[id],null,[name],'dd',getdate()fromBwheretype='dd' 2、 DECLARE @num int,@i int; SET @
找出一個字串中重複最多的字元以及出現的次數
package test.com; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(S
如何找出一個字串中第一次且只出現一次的字元
要找出一個字串中出現的字元,自然而然我們就會想到在ASCⅡ碼中共有256種字元,通過遍歷可以找出每種字元存在的個數,這就用到了ASCⅡ碼字元與編碼中的一一對映的關係。那麼就還需要知道字串的長
華為上機試題(java)找出一個字串中出現次數最多的字元
Java求字串中出現次數最多的字元,如String Str = "aaabbcddddee";那麼輸出:d 4 ;若String Str = "aaabbcddddeexxxxxx";那麼輸出:x 6 import java.util.*; import java.uti
Sql Server 將一個表中的資料複製到另個一表中
目標表存在 將table1中資料全部複製到table2中(table1,table2表結構一致) insert into table1 select * from table2 將table1中name為張三的資料複製到table2中(table1,table2表結構
python實現找出一個字串中第一次不重複出現的字元
例:輸入:yellow 輸出:y 輸入:tooth 輸出:h思想:使用字典進行遍歷:def find_str(arr): dic={} for i in range(len(arr)): if arr[i] in
找出一個字串中第一個只出現一次的字元
題目:在字串中找出第一個只出現一次的字元。如輸入 “abaccdeff”,則輸出b。 思路分析: (1)由於題目與字元出現的次數相關,那麼是不是可以統計每個字元在該字串中出現的次數?要達到這個目的,我們需要一個數據容器來存放每個字元出現的次數。在這個容器中可
Linked List Cycle 找出單鏈表中環路
問題:Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?解法1:使用兩個步伐不一樣的指標遍歷連結串列(eg:a