當前位置:首頁 » 編程語言 » sql最小函數

sql最小函數

發布時間: 2023-04-22 00:21:56

⑴ 如何使用sql函數平均值、總數、最小值、最大值、總和、標准差

avg函數:計算查詢中某一特定欄位資料的算術平均值。
count函數:計算符合查詢條件的記錄數。
min, max函數:傳回指定欄位值中符合查詢條件的第一條、最末條記錄的資料。
first, last函數:傳回指定欄位值中符合查詢條件的最小值、最大值。
stdev函數:計算指定欄位值中符合查詢條件的標准差。
sum函數:計算指定欄位值中符合查詢條件的資料總和。
var,函數:計算指定欄位值中符合查詢條件的變異數估計值。

⑵ 用SQL語句查詢最小值,最大值不能用min,max函數怎麼查

1.
--大於等於所有(最大值)
select*fromApo_city
wherecity_id>=all(selectcity_idfromApo_city)
--小於等於所有(最小值)
select*fromApo_city
wherecity_id<=all(selectcity_idfromApo_city)

--2.
--降序取第一個(最大值)
select*fromApo_city
wherecity_id=(selecttop1city_idfromApo_cityorderbycity_iddesc)
--升序取第一個(最小值)
select*fromApo_city
wherecity_id=(selecttop1city_idfromApo_cityorderbycity_idAsc)

--3.
--最大值
selectTop1city_idfromApo_cityorderbycity_iddesc
--最小值
selectTop1city_idfromApo_cityorderbycity_idAsc

--4.
--最大值
WithT
As
(
select*,ROW_NUMBER()over(orderbycity_idDesc)asidfromApo_city
)
select*fromTwhereid=1
--最小值
WithT
As
(
select*,ROW_NUMBER()over(orderbycity_idAsc)asidfromApo_city
)
select*fromTwhereid=1

5.
--不小於任何一個(最大值)
select*fromApo_city
wherenotcity_id<any(selectcity_idfromApo_city)

--不大於任何一個(最小值)
select*fromApo_city
wherenotcity_id>any(selectcity_idfromApo_city)

⑶ 常用的sql函數

--數據操作
2
3 SELECT --從資料庫表中檢索數據行和列
4 INSERT --向資料庫表添加新數據行
5 DELETE --從資料庫表中刪除數據行
6 UPDATE --更新資料庫表中的數據
7
8 --數據定義
9
10 CREATE TABLE --創建一個資料庫表
11 DROP TABLE --從資料庫中刪除表
12 ALTER TABLE --修改資料庫表結構
13 CREATE VIEW --創建一個視圖
14 DROP VIEW --從資料庫中刪除視圖
15 CREATE INDEX --為資料庫表創建一個索引
16 DROP INDEX --從資料庫中刪除索引
17 CREATE PROCEDURE --創建一個存儲過程
18 DROP PROCEDURE --從資料庫中刪除存儲過程
19 CREATE TRIGGER --創建一個觸發器
20 DROP TRIGGER --從資料庫中刪除觸發器
21 CREATE SCHEMA --向資料庫添加一個新模式
22 DROP SCHEMA --從資料庫中刪除一個模式
23 CREATE DOMAIN --創建一個數據值域
24 ALTER DOMAIN --改變域定義
25 DROP DOMAIN --從資料庫中刪除一個域
26
27 --數據控制
28
29 GRANT --授予用戶訪問許可權
30 DENY --拒絕用戶訪問
31 REVOKE --解除用戶訪問許可權
32
33 --事務控制
34
35 COMMIT --結束當前事務
36 ROLLBACK --中止當前事務
37 SET TRANSACTION --定義當前事務數據訪問特徵
38
39 --程序化SQL
40
41 DECLARE --為查詢設定游標
42 EXPLAN --為查詢描述數據訪問計劃
43 OPEN --檢索查詢結果打開一個游標
44 FETCH --檢索一行查詢結果
45 CLOSE --關閉游標
46 PREPARE --為動態執行准備SQL 語句
47 EXECUTE --動態地執行SQL 語句
48 DESCRIBE --描述准備好的查詢
49
50 ---局部變數
51 declare @id varchar(10)
52 --set @id = 'sp'
53 select @id = 'sp'
54
55 ---全局變數
56 ---必須以@@開頭
57 --IF ELSE
58 declare @x int @y int @z int
59 select @x = 1 @y = 2 @z=3
60 if @x > @y
61 print 'x > y' --列印字元串'x > y'
62 else if @y > @z
63 print 'y > z'
64 else print 'z > y'
65 --CASE
66 use pubs
67 update employee
68 set e_wage =
69 case
70 when job_level = 』1』 then e_wage*1.08
71 when job_level = 』2』 then e_wage*1.07
72 when job_level = 』3』 then e_wage*1.06
73 else e_wage*1.05
74 end
75 --WHILE CONTINUE BREAK
76 declare @x int @y int @c int
77 select @x = 1 @y=1
78 while @x < 3
79 begin
80 print @x --列印變數x 的值
81 while @y < 3
82 begin
83 select @c = 100*@x + @y
84 print @c --列印變數c 的值
85 select @y = @y + 1
86 end
87 select @x = @x + 1
88 select @y = 1
89 end
90 --WAITFOR
91
92 --例 等待1 小時2 分零3 秒後才執行SELECT 語句
93
94 waitfor delay 』01:02:03』
95 select * from employee
96
97 --例 等到晚上11 點零8 分後才執行SELECT 語句
98
99 waitfor time 』23:08:00』
100
101
102SELECT
103
104 select *(列名) from table_name(表名) where column_name operator value ex宿主)
105 select * from stock_information where stockid = str(nid)
106 stockname = 'str_name'
107 stockname like '% find that %'
108 stockname like '[a-zA-Z]%' --------- ([]指定值的范圍)
109 stockname like '[^F-M]%' --------- (^排除指定范圍)
110 --------- 只能在使用like關鍵字的where子句中使用通配符)
111 or stockpath = 'path'
112 or stocknumber < 1000
113 and stockindex = 24
114 not stocksex = 'man'
115 stocknumber between 20 and 100
116 stocknumber in(10,20,30)
117 order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
118 order by 1,2 --------- by列號
119 stockname = (select stockname from stock_information where stockid = 4)
120 --------- 子查詢
121 --------- 除非能確保內層select只返回一個行的值
122 --------- 否則應在外層where子句中用一個in限定符
123 select distinct column_name form table_name
124 --------- distinct指定檢索獨有的列值,不重復
125 select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
126 select stockname , "stocknumber" = count(*) from table_name group by stockname
127 --------- group by 將表按行分組,指定列中有相同的值
128 having count(*) = 2 --------- having選定指定的組
129
130 select *
131 from table1, table2
132where table1.id *= table2.id -------- 左外部連接,table1中有的而table2中沒有得以null表示
133 table1.id =* table2.id -------- 右外部連接
134 select stockname from table1
135 union [all] -------- union合並查詢結果集,all-保留重復行
136 select stockname from table2
137
138 insert
139
140 insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx"
141 value (select Stockname , Stocknumber from Stock_table2)
142 -------value為select語句
143
144 update
145
146 update table_name set Stockname = "xxx" [where Stockid = 3]
147 Stockname = default
148 Stockname = null
149 Stocknumber = Stockname + 4
150
151 delete
152
153 delete from table_name where Stockid = 3
154 truncate table 表名 --------- 刪除表中所有行,仍保持表的完整性
155 drop table table_name --------- 完全刪除表
156
157 alter table -------- 修改資料庫表結構
158
159 alter table database.owner.table_name add column_name char(2) null ..
160 sp_help 表名 -------- 顯示表已有特徵
161 create table table_name (name char(20), age smallint, lname varchar(30))
162 insert into table_name select -------- 實現刪除列的方法(創建新表)
163 alter table table_name drop constraint Stockname_default
164 --------- 刪除Stockname的default約束
165
166
167常用函數(function)
168轉換函數
169convert(數據類型,值,格式)
170
171 統計函數
172
173 AVG --求平均值
174 COUNT --統計數目
175 MAX --求最大值
176 MIN --求最小值
177 SUM --求和
178 STDEV()
179
180 --STDEV()函數返回表達式中所有數據的標准差
181 --STDEVP()
182 --STDEVP()函數返回總體標准差
183
184 VAR()
185
186 --VAR()函數返回表達式中所有值的統計變異數
187
188 VARP()
189
190 --VARP()函數返回總體變異數
191
192 算術函數
193
194 三角函數
195
196 SIN(float_expression) --返回以弧度表示的角的正弦
197 COS(float_expression) --返回以弧度表示的角的餘弦
198 TAN(float_expression) --返回以弧度表示的角的正切
199 COT(float_expression) --返回以弧度表示的角的餘切
200
201 反三角函數
202
203 ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角
204 ACOS(float_expression) --返回餘弦是FLOAT 值的以弧度表示的角
205 ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角
206 ATAN2(float_expression1,float_expression2)
207 ------返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
208 DEGREES(numeric_expression)
209 ------把弧度轉換為角度返回與表達式相同的數據類型可為
210 ------INTEGER/MONEY/REAL/FLOAT 類型
211 RADIANS(numeric_expression)
212------把角度轉換為弧度返回與表達式相同的數據類型可為
213
214 ------INTEGER/MONEY/REAL/FLOAT 類型
215 EXP(float_expression) --返回表達式的指數值
216 LOG(float_expression) --返回表達式的自然對數值
217 LOG10(float_expression)--返回表達式的以10 為底的對數值
218 SQRT(float_expression) --返回表達式的平方根
219
220 取近似值函數
221
222 CEILING(numeric_expression)
223-------返回>=表達式的最大整數返回的數據類型與表達式相同可為
224 -------INTEGER/MONEY/REAL/FLOAT 類型
225 FLOOR(numeric_expression)
226-------返回<=表達式的最小整數返回的數據類型與表達式相同可為
227 -------INTEGER/MONEY/REAL/FLOAT 類型
228 ROUND(numeric_expression)
229-------返回以integer_expression 為精度的四捨五入值返回的數據
230 -------類型與表達式相同可為INTEGER/MONEY/REAL/FLOAT 類型
231 ABS(numeric_expression)
232-------返回表達式的絕對值返回的數據類型與表達式相同可為
233 -------INTEGER/MONEY/REAL/FLOAT 類型
234 SIGN(numeric_expression)
235-------測試參數的正負號返回0 零值1 正數或-1 負數返回的數據類型
236 -------與表達式相同可為INTEGER/MONEY/REAL/FLOAT 類型
237 PI() -------返回值為π 即3.1415926535897936
238 RAND([integer_expression])
239-------用任選的[integer_expression]做種子值得出0-1 間的隨機浮點數
240字元串函數
241
242 ASCII() ------函數返回字元表達式最左端字元的ASCII 碼值
243 CHAR() ------函數用於將ASCII 碼轉換為字元
244 ------如果沒有輸入0 ~ 255 之間的ASCII 碼值CHAR 函數會返回一個NULL 值
245 LOWER() ------函數把字元串全部轉換為小寫
246 UPPER() ------函數把字元串全部轉換為大寫
247 STR() ------函數把數值型數據轉換為字元型數據
248 LTRIM() ------函數把字元串頭部的空格去掉
249 RTRIM() ------函數把字元串尾部的空格去掉
250 LEFT(),RIGHT(),SUBSTRING() --函數返回部分字元串
251 CHARINDEX(),PATINDEX() --函數返回字元串中某個指定的子串出現的開始位置
252 SOUNDEX() ------函數返回一個四位字元碼
253 ------SOUNDEX函數可用來查找聲音相似的字元串但SOUNDEX函數對數字和漢字均只返回0 值
254 DIFFERENCE() ------函數返回由SOUNDEX 函數返回的兩個字元表達式的值的差異
255 ------0 兩個SOUNDEX 函數返回值的第一個字元不同
256 ------1 兩個SOUNDEX 函數返回值的第一個字元相同
257 ------2 兩個SOUNDEX 函數返回值的第一二個字元相同
258 ------3 兩個SOUNDEX 函數返回值的第一二三個字元相同
259 ------4 兩個SOUNDEX 函數返回值完全相同同
260 QUOTENAME() ------函數返回被特定字元括起來的字元串
261
262 /**//**//**//*select quotename('abc', '{') quotename('abc')
263 運行結果如下
264
265 {
266 {abc} [abc]*/
267 REPLICATE() ------函數返回一個重復character_expression 指定次數的字元串
268 /**//**//**//*select replicate('abc', 3) replicate( 'abc', -2)
269
270 運行結果如下
271
272 abcabcabc NULL*/
273 REVERSE() ------函數將指定的字元串的字元排列順序顛倒
274 REPLACE() ------函數返回被替換了指定子串的字元串
275 /**//**//**//*select replace('abc123g', '123', 'def')
276
277 運行結果如下
278
279 abcdefg*/
280
281 SPACE() ------函數返回一個有指定長度的空白字元串
282 STUFF() ------函數用另一子串替換字元串指定位置長度的子串
283
284 數據類型轉換函數
285
286 CAST() 函數語法如下
287 CAST() ( AS [ length ])
288 CONVERT() 函數語法如下
289 CONVERT() ([ length ], [, style])
290 select cast(100+99 as char) convert(varchar(12), getdate())
291
292 運行結果如下
293 199 Jan 15 2000
294
295 日期函數
296
297 DAY() ------函數返回date_expression 中的日期值
298 MONTH() ------函數返回date_expression 中的月份值
299 YEAR() ------函數返回date_expression 中的年份值
300 DATEADD( , ,)
301 -----函數返回指定日期date 加上指定的額外日期間隔number 產生的新日期
302 DATEDIFF( , ,)
303 -----函數返回兩個指定日期在datepart 方面的不同之處
304
305 DATENAME( , ------函數以字元串的形式返回日期的指定部分
306 DATEPART( , ------函數以整數值的形式返回日期的指定部分
307 GETDATE() ------函數以DATETIME 的預設格式返回系統當前的日期和時間
308
309 系統函數
310
311 APP_NAME() ------函數返回當前執行的應用程序的名稱
312 COALESCE() -----函數返回眾多表達式中第一個非NULL 表達式的值
313 COL_LENGTH(<'table_name'>, <'column_name'> ----函數返回表中指定欄位的長度值
314 COL_NAME(, ----函數返回表中指定欄位的名稱即列名
315 DATALENGTH() -----函數返回數據表達式的數據的實際長度
316 DB_ID(['database_name']) ------函數返回資料庫的編號
317 DB_NAME(database_id) ------函數返回資料庫的名稱
318 HOST_ID() -----函數返回伺服器端計算機的名稱
319 HOST_NAME() -----函數返回伺服器端計算機的名稱
320 IDENTITY([, seed increment]) [AS column_name])
321 --IDENTITY() 函數只在SELECT INTO 語句中使用用於插入一個identity column列到新表中
322 /**//**//**//*select identity(int, 1, 1) as column_name
323 into newtable
324 from oldtable*/
325
326 ISDATE() ----函數判斷所給定的表達式是否為合理日期
327 ISNULL(, --函數將表達式中的NULL 值用指定值替換
328 ISNUMERIC() ----函數判斷所給定的表達式是否為合理的數值
329 NEWID() ----函數返回一個UNIQUEIDENTIFIER 類型的數值
330 NULLIF(,
331 ----NULLIF 函數在expression1 與expression2 相等時返回NULL 值若不相等時則返回xpression1 的值

⑷ sql max函數的使用方法

sql max函數的使用方法

在SQL資料庫中,最大/最小值函數—MAX/MIN是經常要用到的。下面我給大家帶來sql max函數的使用方法,歡迎大家閱讀。

sql max函數的使用方法

當需要了解一列中的最大值時,可以使用MAX()函數;同樣,當需要了解一列中的最小值時,可以使用MIN()函數。語法如下。

SELECT MAX (column_name) / MIN (column_name)

FROM table_name

說明:列column_name中的數據可以是數值、字元串或是日期時間數據類型。MAX()/MIN()函數將返回與被傳遞的列同一數據類型的單一值。

實例7 MAX()函數的使用

查詢TEACHER表中教師的最大年齡。實例代碼:

SELECT MAX (AGE) AS MAXAGE

FROM TEACHER

運行結果如圖1示。

圖1TEACHER表中教師的最大年齡

然而,在實際應用中得到這個結果並不是特別有用,因為經常想要獲得的信息是具有最大年齡的教師的教工號、姓名、性別等信息。

然而SQL不支持如下的SELECT語句。

SELECT TNAME, DNAME, TSEX, MAX (AGE)

FROM TEACHER

因為聚合函數處理的是數據組,在本例中,MAX函數將整個TEACHER表看成一組,而TNAME、DNAME和TSEX的數據都沒有進行任何分組,因此SELECT語句沒有邏輯意義。同樣的道理,下面的.代碼也是無效的。

SELECT TNAME, DNAME, TSEX,SAL ,AGE

FROM TEACHER

WHERE AGE=MAX (AGE)

解決這個問題的方法,就是在WHERE子句中使用子查詢來返回最大值,然後再基於這個返回的最大值,查詢相關信息。

實例8 在WHERE子句中使用子查詢返回最大值

查詢TEACHER表中年紀最大的教師的教工號、姓名、性別等信息。

實例代碼:

SELECT TNAME, DNAME, TSEX, SAL, AGE

FROM TEACHER

WHERE AGE=(SELECT MAX (AGE) FROM TEACHER)

運行結果如圖2示。

圖2在WHERE子句中使用子查詢返回最大值

MAX()和MIN()函數不僅可以作用於數值型數據,也可以作用於字元串或是日期時間數據類型的數據。

實例MAX()函數用於字元型數據

如下面代碼:

SELECT MAX (TNAME) AS MAXNAME

FROM TEACHER

運行結果如圖3示。

圖3在字元串數據類型中使用MAX的結果

可見,對於字元串也可以求其最大值。

說明

對字元型數據的最大值,是按照首字母由A~Z的順序排列,越往後,其值越大。當然,對於漢字則是按照其全拼拼音排列的,若首字元相同,則比較下一個字元,以此類推。

當然,對與日期時間類型的數據也可以求其最大/最小值,其大小排列就是日期時間的早晚,越早認為其值越小,如下面的實例。

實例 MAX()、MIN()函數用於時間型數據

從COURSE表中查詢最早和最晚考試課程的考試時間。其中COURSE表的結構和數據可參見本書6.1節的表6-1。實例代碼:

SELECT MIN (CTEST) AS EARLY_DATE,

MAX (CTEST) AS LATE_DATE

FROM COURSE

運行結果如圖4示。

圖4COURSE表中最早和最晚考試課程的考試時間

可見,返回結果的數據類型與該列定義的數據類型相同。

注意

確定列中的最大值(最小值)時,MAX( )(MIN( ))函數忽略NULL值。但是,如果在該列中,所有行的值都是NULL,則MAX( )/MIN( )函數將返回NULL值。

;

⑸ 在plsql中,if then緊接著一個if then中間沒有執行語句怎麼理解

凡是這種if的嵌套,表示要滿足上層的if條件才能進入,比如說
if A then
if B then
if C then

end if

end if
end if

就是滿足了A才能進入if B的判斷,滿足了B(或者說滿足A和B)才能進入C的判斷。同樣的,你的代碼中只有滿足了flag_missed_target=0的判斷,才能進入▲x>0的判斷,下面的都是一樣的。當然,如果是
if A then
XXX...

if B then
end if
end if
表示滿足A之後先執行XXX,之後才進行if B判斷,這個XXX是根據你的需求寫的,不一事實上非得存在。

熱點內容
怎麼給自己手機寫一個腳本 發布:2024-11-01 20:23:41 瀏覽:241
c語言大小寫判斷 發布:2024-11-01 20:21:53 瀏覽:130
php的點餐系統源碼 發布:2024-11-01 20:13:53 瀏覽:714
拜占庭演算法 發布:2024-11-01 20:10:31 瀏覽:357
xcode編譯參數 發布:2024-11-01 20:00:04 瀏覽:665
蘋果5怎麼設置密碼鎖屏 發布:2024-11-01 19:54:55 瀏覽:124
寶塔上傳文件夾 發布:2024-11-01 19:39:50 瀏覽:257
java雲編譯器 發布:2024-11-01 19:34:24 瀏覽:385
免費源碼分享網 發布:2024-11-01 19:29:19 瀏覽:855
硬碟8mb緩存 發布:2024-11-01 19:20:02 瀏覽:192