⑴ 連續以天為單位查詢資料庫連續的數據
首先, 如果日期是 2011年8月1日。
那麼 ymd2 與 ymd3 將計算錯誤.
ymd1 = yyy & "年" & mmm & "月" & ddd & "日鍵液"
ymd2 = yyy & "年" & mmm & "月" & ddd - 1 & "日"
ymd3 = yyy & "年" & mmm & "月" & ddd - 2 & "日"
s1 = 0
s2 = 0
s3 = 0
strConnAcc = "罩亮穗select * from 黃色高溫預警 where 年月日= '" & ymd1 & "'and 站點='" & righ(ii) & " '"
RsAcc.Open strConnAcc, ConnAcc, 1, 1
If RsAcc.RecordCount > 0 Then ' 第一天,如果記錄存在
s1 = 1
End If
RsAcc.Close
strConnAcc = "select * from 黃色高溫預警 where 年月日= '" & ymd2 & "'and 站點='" & righ(ii) & " '"
RsAcc.Open strConnAcc, ConnAcc, 1, 1
If RsAcc.RecordCount > 0 Then '第二天,如果記錄存在
s2 = 1
End If
RsAcc.Close
strConnAcc = "select * from 黃色高溫預警 where 年月日= '" & ymd3 & "'and 站點='" & righ(ii) & " '"
RsAcc.Open strConnAcc, ConnAcc, 1, 1
If RsAcc.RecordCount > 0 Then '第物卜三天,如果記錄存在
s3 = 1
End If
RsAcc.Close
這里 通過 s1 s2 s3 來 判斷 ss 最後的結果.
⑵ 資料庫中如何使用sql查詢連續號碼段
在ITPUB上有一則非常巧妙的SQL技巧 學習一下 記錄在這里
攔寬最初的問題是這樣的:
我有一個表結構 fphm kshm
(第二個欄位內可能是連續的數據 可能存在斷點 )
怎樣能查詢出來這樣基衡裂的結果 查詢出搏閉連續的記錄來 就像下面的這樣?
ITPUB上的朋友給出了一個非常巧妙的答案:
SQL> SELECT b fphm MIN (b kshm) Start_HM MAX (b kshm) End_HM FROM (SELECT a * TO_NUMBER (a kshm ROWNUM) cc FROM (SELECT * FROM t ORDER BY fphm kshm) a) b GROUP BY b fphm /
FPHM START_HM END_HM
巧思妙想 就在一念之間 lishixin/Article/program/Oracle/201311/17496
⑶ SQL資料庫中查詢連續編號的的數據。
DECLARE@T1table(UserIDint,[name]nvarchar(50),numint);
insertinto@T1(UserID,[name],num)values(1001,'a',8)
insertinto@T1(UserID,[name],num)values(1002,'b',6)
insertinto@T1(UserID,[name],num)values(1003,'c',8)
insertinto@T1(UserID,[name],num)values(1004,'a',8)
insertinto@T1(UserID,[name],num)values(1005,'b',8)
select*from@t1
selecta.*from
(selectUserID,[name],[num]from@t1)ajoin
(selectUserID,[name],[num]from@t1)bona.UserID<b.UserIDanda.UserID+1=b.UserID
anda.num=b.num
groupbya.userid,a.[name],a.[num]
得到結果:1003c8
1004a8
⑷ 資料庫中count的用法
資料庫中count的用法的用法你知道嗎?下面我就跟你們詳細介紹下資料庫中count的用法的用法,希望對你們有用。
資料庫中count的用法的用法如下:
count函數是用來統計表中或數組中記錄的一個函數,下面我來介紹在MySQL中count函數用法與性能比較吧。count(*) 它返回檢索行的數目, 不論其是否包含 NULL值。
SELECT 從一個表中檢索,而不檢索其它的列,並且沒有 WHERE子句時, COUNT(*)被優化到最快的返回速度。
例如:SELECT COUNT(*) FROM student;
COUNT(DISTINCT 欄位),返回不同的非NULL值數目;若找不到匹配的項,則COUNT(DISTINCT)返回 0 。
這個優化僅適用於 MyISAM表, 原因是這些表類型會儲存一個函數返回記錄的精確數量,而且非常容易訪問。
對於事務型的存儲引擎(InnoDB, BDB), 存儲一個精確行數的問題比較多,原因是可能會發生多重事物處理,而每個都可能會對行數產生影響。
例, 創建用於測試的數據表,以進行count數據統計:
CREATE TABLE `user` (
`id` int(5) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`password` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
測試數據為:
1 name1 123456
2 name2 123456
3 name3 123456
4 name4 NULL
請注意以下查詢的返回結果:
1,select count(*) from `user`
2,select count(name) from `user`
3,select count(password) from `user`
輸出結果:4,4,3
原因分析:
1,count(*)是對行數目進行計數,所以結果為4。
2,count(column_name)是對列中不為空的行進行計數,所以count(name)=4,而count(password)=3。
以上二點,在使用count函數時,要注意下。
使用GROUP BY對每個owner的所有記錄分組,沒有它,你會得到錯誤消息:
mysql> SELECT owner, COUNT(*) FROM pet;
ERROR 1140 (42000): Mixing of GROUP columns (MIN(),MAX(),COUNT(),...)
with no GROUP columns is illegal if there is no GROUP BY clause
COUNT( )和GROUP BY以各種方式分類你的數據。下列例子顯示出進行動物普查操作的不同方式。
每種動物的數量:
mysql> SELECT species, COUNT(*) FROM pet GROUP BY species;
+---------+----------+
| species | COUNT(*) |
+---------+----------+
| bird | 2 |
| cat | 2 |
| dog | 3 |
| hamster | 1 |
| snake | 1 |
+---------+----------+
每種性別的動物數量:
mysql> SELECT sex, COUNT(*) FROM pet GROUP BY sex;
+------+----------+
| sex | COUNT(*) |
+------+----------+
| NULL | 1 |
| f | 4 |
| m | 4 |
+------+----------+
(在這個輸 出中,NULL表示“未知性別”。)
按種類和性別組合的動物數量:
mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;
+---------+------+----------+
| species | sex | COUNT(*) |
+---------+------+----------+
| bird | NULL | 1 |
| bird | f | 1 |
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
| hamster | f | 1 |
| snake | m | 1 |
+---------+------+----------+
若 使用COUNT( ),你不必檢索整個表。例如, 前面的查詢,當只對狗和貓進行時,應為:
mysql> SELECT species, sex, COUNT(*) FROM pet
-> WHERE species = 'dog' OR species = 'cat'
-> GROUP BY species, sex;
+---------+------+----------+
| species | sex | COUNT(*) |
+---------+------+----------+
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
+---------+------+----------+
或, 如果你僅需要知道已知性別的按性別的動物數目:
mysql> SELECT species, sex, COUNT(*) FROM pet
-> WHERE sex IS NOT NULL
-> GROUP BY species, sex;
+---------+------+----------+
| species | sex | COUNT(*) |
+---------+------+----------+
| bird | f | 1 |
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
| hamster | f | 1 |
| snake | m | 1 |
+---------+------+----------+
順便提下mysql的DISTINCT的關鍵字有很多你想不到的用處
1.在count 不重復的記錄的時候能用到
比如SELECT COUNT( DISTINCT id ) FROM tablename;
就是計算talbebname表中id不同的記錄有多少條
2,在需要返回記錄不同的id的具體值的時候可以用
比如SELECT DISTINCT id FROM tablename;
返回talbebname表中不同的id的具體的值
3.上面的情況2對於需要返回mysql表中2列以上的結果時會有歧義
比如SELECT DISTINCT id, type FROM tablename;
實際上返回的是 id與type同時不相同的結果,也就是DISTINCT同時作用了兩個欄位,必須得id與tyoe都相同的才被排除了,與我們期望的結果不一樣
4.這時候可以考慮使用group_concat函數來進行排除,不過這個mysql函數是在mysql4.1以上才支持的
5.其實還有另外一種解決方式,就是使用
SELECT id, type, count(DISTINCT id) FROM tablename
雖然這樣的返回結果多了一列無用的count數據(或許你就需要這個我說的無用數據)
返回的結果是 只有id不同的所有結果和上面的4類型可以互補使用,就是看你需要什麼樣的數據了
⑸ 用sql語句統計資料庫某個欄位中相同的數據有多少條
1、可通過分組和組內計數來實現,語句如下:
select a, count(*) from A Group by a
2、用Group By分組:
Group By + [分組欄位](可以有多個)。在執行了這個操作以後,數據集將根據分組欄位的值將一個數據集劃分成各個不同的小組。
這里,分組欄位是a,所以數據集分成了你、我、他三個組。然後用Count(*)分別按照各個組來統計各自的記錄數量。
3、Count(*)函數:
Count(*) 函數返回表中的記錄數。注意它和Group by連用,返回組內記錄數。
』
(5)資料庫連續計數擴展閱讀:
select count(*)和select count(1)的區別
一般情況下,Select Count (*)和Select Count(1)兩著返回結果是一樣的。
假如表沒有主鍵(Primary key), 那麼count(1)比count(*)快。
如果有主鍵的話,那主鍵作為count的條件時候count(主鍵)最快。
如果你的表只有一個欄位的話那count(*)就是最快的。
count(*) 跟 count(1) 的結果一樣,都包括對NULL的統計,而count(column) 是不包括NULL的統計。
網路.Group by
⑹ mysql資料庫計數count
selectfdate,sum(casewhenres='合格碰胡配'then1else0end笑指)as'合做高格',sum(casewhenres='不合格'then1else0end)as'不合格'
⑺ C#中如何對資料庫中的數據進行計數
int=a,b,c
a+b=c
⑻ 資料庫中count 命令 怎麼用來,高手來幫忙提示下,謝謝了
一、統計行數
SELECT COUNT(*) FROM TABLE_NAME WHERE 條件
二、統計某個欄位非空值的個數(只有該喚氏桐欄位值不為NULL才被計數)
SELECT COUNT(FIELD_NAME) FROM TABLE_NAME WHERE 條件
三、統計某個欄位不同值的個數(重復值和坦只被計數一次)
SELECT COUNT(DISTINCT FIELD_NAME) FROM TABLE_NAME WHERE 條件
其中「WHERE 條件」不是必須的,建議你每個都自己嘗試核彎幾次,找好感覺。
祝你好運!
⑼ access資料庫 如何進行計算總數的查詢
1、可以使用Microsoft Access 所提供的預定義計算或自定義的計算。
使用所謂「總計」的預定義計算,可計算出記錄組或全部 記錄的下列量值:總和(Sum)、平均值(Avg)、數量(Count)、最小值(Min)、最大值(Max)、 標准偏差(StDev)或方差(Var)。可以對每個欄位選擇要進行的總計計算。
2、合計函數Count 在計算時不能包括有空值 (Null) 的記錄。
例如,Count 函數返回所有 無 Null 值記錄的數量,有一種方法可以對 Null 值進行計數,另外也可以將 Null 值轉換為零以便進行計算。如果要查找包含 Null 值的記錄總數,請在 Count 中使用用 星號 (*) 通配符。
3、在欄位中顯示計算結果時,結果實際並不存儲在基準窗體中。
相反,Microsoft Access 在每次執行查詢時都將重新進行計算,以使計算結果永遠都以資料庫中最新的數據為准。因此,不能人工更新計算結果。