① 如何用sql語句實現取出前100條記錄
各個資料庫的方法並非一樣
Mysql:
SELECT*FROMtblLIMIT0,100;SQLServer:
SELECT*FROMtblWHEREidIN(SELECTTOP100idFROMtbl);Oracle:
SELECT*FROMtblWHERErownum<=100
② 運用SQL如何提取想要的欄位
這是提取某字元欄位中的字元與之相似的。
SQL=Select 欄位1 from tabel where 欄位1' like '%喜歡%'
由於通配符的緣故,導致我們查詢特殊字元「%」、「_」、「[」、「';」的語句無法正常實現,而把特殊字元用「[ ]」括起便可正常查詢。
③ 在SQL SERVER 2000中怎麼用SQL語句提取100條數據
TOP運算符將掃描查詢(或者子查詢)的輸出 並返回它所找到的前N行。
例:假定有50名銷售人員在手下工作可能想要把總銷售量排前三的銷售人員列出來予以表揚。
SELECT DISTINCT TOP 3 total_sales FROM employee ORDER BY total_sales DESC
④ 如何從表中用SELECT語句提取最後100條數據
表中如果有ID欄位且為自增長型的:
sql="Select top 1 * from TABEL where Phone='88888888' order by id DESC"
因為是自增長,所以ID最大的就是最後添加進去的,用DESC來控制ID從大到小輸出,加上Select top 1來控製取記錄的個數,就是相冊記錄中最後一個!
明白思路之後,再結合你的數據表的結構,SQL語句的寫法就多了:
1.Sql="Select top 1 * from TABEL where Phone='88888888' order by AddTime DESC"
2.select * from Table where AddTime=(select max(AddTime) from Table group by Name)
3.Sql="Select top 1 * from TABEL where Phone='88888888' order by ID DESC"
關鍵是思路正確。
⑤ 在SQL SERVER 2000中怎麼用SQL語句隨機提取100條數據如題 謝謝了
一. 你可以試試這個: select * from xx order by rand() limit 100 二. 是利用系統時間來取隨機數的代碼,用C++寫的。你參看一下吧。 你可以把隨機數的范圍限定在0 -- 100 ,之內,作為數組的下標就可以訪問了。 #include <iostream.h> #include <stdlib.h> #include <time.h> int main() { srand((unsigned int) time(NULL)); int i ,j = 1,array[10] ; while(j != 0) { for(i = 0;i < 10;i++) { array[i] = rand(); cout<<array[i]<<endl ; } cin>>j ; } system("PAUSE"); return 0; }
⑥ 關於得到SQL中某字元串的前100個字元的寫法.謝謝額 ...
很多種寫法,不同的資料庫平台會有些小差異:
如果Content是具體表中的列,可以使用:
1. Select left(Content,100) from a_table ...
2. Select substr(Content,1,100) from a_table ...
如果Content是個host變數,則可以使用:
1. Select left(:Content,100) from mmy ...
2. Select substr(:Content,1,100) from mmy ...
其中mmy是個系統的臨時表,如果系統沒有該表,則建立一個只有一列一行的臨時表就行了。
⑦ sql語句選擇前100個字元
SELECT case WHEN LEN(欄位名) > 100 then left(欄位名, 100) + '...' ELSE f_summary END FROM about
⑧ sql server 查找欄位內容(100*200*300 要取出100 200 300)
如不想用函數跟存儲過程的話給你一個參考
先把一個 * 號替換成逗號﹐然後再拆分
DECLARE@STVARCHAR(20)
SET@ST='50*2000*6'
SET@ST=STUFF(@ST,PATINDEX('%*%',@ST),1,',')
SELECTLEFT(@ST,PATINDEX('%,%',@ST)-1)
SELECTSUBSTRING(@ST,PATINDEX('%,%',@ST)+1,PATINDEX('%*%',@ST)-PATINDEX('%,%',@ST)-1)
SELECTRIGHT(@ST,LEN(@ST)-PATINDEX('%*%',@ST))
結果﹕
--------------------
50
--------------------
2000
--------------------
6
⑨ SQL語句修改,截取前100條數據
select * from (
select row_number() over(partition by buyer order by 排序欄位) rindex , * from tablename
) where rindex<=100
row_number() over(partition by 分組欄位 order by 排序欄位)可實現分組f1-f5後再對每個組進行自定的排序編號,外面再嵌套一層select,直接取排序編號為前100的。
我不是已經回答過了么?這個可以解決你的問題,照著模板來啊,
比如你的f1-f5數據記錄為
f1f1a1
f2f2a1
f3f3a1
f4f4a1
f5f5a1
f1f1a2
f2f2a2
f3f3a2
f4f4a2
f5f5a2
........
f1f1a2000
f2f2a2000
f3f3a2000
f4f4a2000
f5f5a2000
那麼他分組排序後取出的數據是
f1f1a11
f1f1a22
.....
f1f1a20002000
f2f2a11
f2f2a22
........
f2f2a20002000
f3f3a1
......同上
f4f4a1
......同上
f5f5a1
......同上
得出這種數據後,直接取rindex<=100的,每組的前100條數據不就出來了?