關于access查詢語句
數據就是你這個,我這里起的名叫表2,你替換一下 select c.字段5 as 字段1,c.字段2,c.字段3,switch(d.字段4 is null,0,true,d.字段4) as 字段4from(select a.字段5,a.字段2,b.字段3from(select 字段5,max(switch(字段7='是',字段6,true,'')) as 字段2 from 表2 group by 字段5) as aleft join (select 字段5,min(字段6) as 字段3 from 表2 where 字段7='否' group by 字段5) as b on a.字段5=b.字段5) as cleft join (select 字段5,count(*) as 字段4 from 表2 where 字段7='否' group by 字段5) as d on c.字段5=d.字段5 結結果如圖 。
Access語句解釋
下面的內容,請參考。
具體的語法如下:
語法
* Source, ActiveConnection, CursorType, LockType, Options
參數
Source 可選,變體型,計算 Command 對象的變量名、SQL 語句、表名、存儲過程調用或持久 Recordset 文件名。
ActiveConnection 可選。變體型,計算有效 Connection 對象變量名;或字符串,包含 ConnectionString 參數。
CursorType 可選,CursorTypeEnum 值,確定提供者打開 Recordset 時應該使用的游標類型。可為下列常量之一(參閱 CursorType 屬性可獲得這些設置的定義)。
常量 說明
adOpenForwardOnly (默認值)打開僅向前類型游標。
adOpenKeyset 打開鍵集類型游標。
adOpenDynamic 打開動態類型游標。
adOpenStatic 打開靜態類型游標。
LockType 可選。確定提供者打開 Recordset 時應該使用的鎖定(并發)類型的 LockTypeEnum 值,可為下列常量之一(參見 LockType 屬性可獲得詳細信息)。
常量 說明
adLockReadOnly (默認值)只讀 — 不能改變數據。
adLockPessimistic 保守式鎖定(逐個) — 提供者完成確保成功編輯記錄所需的工作,通常通過在編輯時立即鎖定數據源的記錄來完成。
adLockOptimistic 開放式鎖定(逐個) — 提供者使用開放式鎖定,只在調用 Update 方法時才鎖定記錄。
adLockBatchOptimistic 開放式批更新 — 用于批更新模式(與立即更新模式相對)。
Options 可選,長整型值,用于指示提供者如何計算 Source 參數(如果它代表的不是 Command 對象),或從以前保存 Recordset 的文件中恢復 Recordset。可為下列常量之一(參見 CommandType 屬性可獲得該列表中前五個常量的詳細說明)。
常量 說明
adCmdText 指示提供者應該將 Source 作為命令的文本定義來計算。
adCmdTable 指示 ADO 生成 SQL 查詢以便從 Source 命名的表返回所有行。
adCmdTableDirect 指示提供者更改從 Source 命名的表返回的所有行。
adCmdStoredProc 指示提供者應該將 Source 視為存儲的過程。
adCmdUnknown 指示 Source 參數中的命令類型為未知。
adCommandFile 指示應從 Source 命名的文件中恢復持久(保存的)Recordset。
adExecuteAsync 指示應異步執行 Source。
adFetchAsync 指示在提取 CacheSize 屬性中指定的初始數量后,應該異步提取所有剩余的行。
ACCESS的十種數據類型分別對應的添加語句
access數據類型大全ALTER TABLE tb ALTER COLUMN aa Byte 數字[字節] ALTER TABLE tb ALTER COLUMN aa Long 數字[長整型] ALTER TABLE tb ALTER COLUMN aa Short 數字[整型] ALTER TABLE tb ALTER COLUMN aa Single 數字[單精度] ALTER TABLE tb ALTER COLUMN aa Double 數字[雙精度] ALTER TABLE tb ALTER COLUMN aa Currency 貨幣 ALTER TABLE tb ALTER COLUMN aa Char 文本 ALTER TABLE tb ALTER COLUMN aa Text(n) 文本,其中n表示字段大小 ALTER TABLE tb ALTER COLUMN aa Binary 二進制 ALTER TABLE tb ALTER COLUMN aa Counter 自動編號 ALTER TABLE tb ALTER COLUMN aa Memo 備注 ALTER TABLE tb ALTER COLUMN aa Time 日期/時間在表的設計視圖中,每一個字段都有設計類型,Access允許九種數據類型:文本、備注、數值、日期/時間、貨幣、自動編號、是/否、OLE對象、超級鏈接、查詢向導。
文本:這種類型允許最大255個字符或數字,Access默認的大小是50個字符,而且系統只保存輸入到字段中的字符,而不保存文本字段中未用位置上的空字符。可以設置“字段大小”屬性控制可輸入的最大字符長度。
備注:這種類型用來保存長度較長的文本及數字,它允許字段能夠存儲長達64000個字符的內容。但Access不能對備注字段進行排序或索引,卻可以對文本字段進行排序和索引。
在備注字段中雖然可以搜索文本,但卻不如在有索引的文本字段中搜索得快。 數字:這種字段類型可以用來存儲進行算術計算的數字數據,用戶還可以設置“字段大小”屬性定義一個特定的數字類型,任何指定為數字數據類型的字型可以設置成“字節”、“整數”、“長整數”、“單精度數”、“雙精度數”、“同步復制ID”、“小數”五種類型。
在Access中通常默認為“雙精度數”。 日期/時間:這種類型是用來存儲日期、時間或日期時間一起的,每個日期/時間字段需要8個字節來存儲空間。
貨幣:這種類型是數字數據類型的特殊類型,等價于具有雙精度屬性的數字字段類型。向貨幣字段輸入數據時,不必鍵入人民幣符號和千位處的逗號,Access會自動顯示人民幣符號和逗號,并添加兩位小數到貨幣字段。
當小數部分多于兩位時,Access會對數據進行四舍五入。精確度為小數點左方15位數及右方4位數。
自動編號:這種類型較為特殊,每次向表格添加新記錄時,Access會自動插入唯一順序或者隨機編號,即在自動編號字段中指定某一數值。自動編號一旦被指定,就會永久地與記錄連接。
如果刪除了表格中含有自動編號字段的一個記錄后,Access并不會為表格自動編號字段重新編號。當添加某一記錄時,Access不再使用已被刪除的自動編號字段的數值,而是重新按遞增的規律重新賦值。
是/否:這種字段是針對于某一字段中只包含兩個不同的可選值而設立的字段,通過是/否數據類型的格式特性,用戶可以對是/否字段進行選擇。 OLE對象:這個字段是指字段允許單獨地“鏈接”或“嵌入”OLE對象。
添加數據到OLE對象字段時,可以鏈接或嵌入Access表中的OLE對象是指在其他使用OLE協議程序創建的對象,例如WORD文檔、EXCEL電子表格、圖像、聲音或其他二進制數據。OLE對象字段最大可為1GB,它主要受磁盤空間限制。
超級鏈接:這個字段主要是用來保存超級鏈接的,包含作為超級鏈接地址的文本或以文本形式存儲的字符與數字的組合。當單擊一個超級鏈接時,WEB瀏覽器或Access將根據超級鏈接地址到達指定的目標。
超級鏈接最多可包含三部分:一是在字段或控件中顯示的文本;二是到文件或頁面的路徑;三是在文件或頁面中的地址。在這個字段或控件中插入超級鏈接地址最簡單的方法就是在“插入”菜單中單擊“超級鏈接”命令。
查閱向導:這個字段類型為用戶提供了一個建立字段內容的列表,可以在列表中選擇所列內容作為添入字段的內容。是否的,添加true/false或者0/1都可以。
ACCESS SQL語句全集
每頁顯示10條記錄,當前顯示第4頁(4*10),默認按id降序排序
select * from (select top 120 * from [person] order by id) temtb order by id desc
每頁顯示10條記錄,當前顯示第4頁(4*10),按id升序排序
select * from (select top 40 * from (select top 120 * from [person] order by id) temtb order by id desc) temtb2 order by id
每頁顯示10條記錄,當前顯示第4頁(4*10),按uname降序排序
select * from (select top 10 * from (select top 40 * from [person] order by id) temtb order by id desc) temtb2 order by uname desc
通過asp+access測試,使用一50m左右的access數據庫,person表含5324條記錄,每條記錄含大量數據,速度如同select top 10 * from [person]快,可放心使用
從
select * from (select top 120 * from [person] order by id) temtb order by id desc
執行情況看,ado是先排序,后取記錄。