SQL查漏補缺學習筆記(三)函式部分

2022-09-11 21:06:30 字數 2648 閱讀 3135

sql aggregate 函式計算從列中取得的值,返回乙個單一的值。

有用的 aggregate 函式:

sql scalar 函式基於輸入值,返回乙個單一的值。

有用的 scalar 函式:

1.count()函式:

--

查詢所有記錄的條數

select

count(*) from

access_log;

--查詢websites 表中 alexa列中不為空的記錄的條數

select

count(alexa) from

websites;

--查詢websites表中 country列中不重複的記錄條數

select

count(distinct country) from websites;

2.first()函式:

select

top1 column_name from

table_name

order

by column_name asc;

select column_name from

table_name

order

by column_name asc

limit

1;

select column_name from

table_name

order

by column_name asc

where rownum <=

1;

3.group by 語句:group by 語句用於結合聚合函式,根據乙個或多個列對結果集進行分組。

select websites.name,count(access_log.aid) as nums from

access_log

left

join

websites

on access_log.site_id=

websites.id

group

by websites.name;

4.h**ing子句:

在 sql 中增加 h**ing 子句原因是,where 關鍵字無法與聚合函式一起使用。

h**ing 子句可以讓我們篩選分組後的各組資料。

select websites.name, websites.url, sum(access_log.count) as nums from

(access_log

inner

join

websites

on access_log.site_id=

websites.id)

group

bywebsites.name

h**ing

sum(access_log.count) >

200;

5.exists語句:(如果想查詢不存在的記錄,則直接在exists前面加上not即可)

select

websites.name, websites.url

from

websites

where

exists (select

count

from access_log where websites.id = access_log.site_id and

count

>

200);

6.mid() 函式用於從文字欄位中提取字元。

引數描述

column_name

必需。要提取字元的字段。

start

必需。規定開始位置(起始值是 1)。

length

可選。要返回的字元數。如果省略,則 mid() 函式返回剩餘文字。

oracle 中沒有 mid 函式,有 substr 函式有類似功能:

select substr(name,1,4) as

shorttitle

from websites;

7.round() 函式用於把數值字段捨入為指定的小數字數。

mysql>

select

round(1.298, 1

);

->

1.3mysql

>

select

round(1.298, 0

);

->

1

8.now()函式:返回當前系統的日期和時間。

select name, url, now() as

date

from websites;

9.sql format() 用於對字段的顯示進行格式化。

下面的 sql 語句從 "websites" 表中選取 name, url 以及格式化為 yyyy-mm-dd 的日期:

select name, url, date_format(now(),'

%y-%m-%d

') as

date

from websites;

linux學習 查漏補缺

1.輸出結果重定向 命令 檔名 即為 將本應該在終端展示的結果輸出到乙個資料夾中 覆蓋式寫入 2.分屏顯示 這麼高大上。不就是橫排變成列麼 more 檔名 可以配合管道 一起使用 3.pwd 並沒有什麼卵用,終端已經顯示 顯示當前路徑 4.刪除資料夾 rmdir 5.ln建立鏈結命令 ln 原始檔 ...

查漏補缺系列 二 函式

1.關鍵字實參 關鍵字實參是傳遞給函式的名稱 值對。你直接在實參中將名稱和值關聯起來了,因此向函式傳遞實參時不會混淆。關鍵字實參讓你無需考慮函式呼叫中的實參順序,還清楚地指出了函式呼叫中各個值的用途。下面有個小例子 def describe people age,name print name is...

C語言學習筆記 查漏補缺

1 強制型別轉換表示式 資料型別 表示式 2 c語言的標頭檔案 c語言的標頭檔案中包括了各個標準庫函式的函式原型。因此,凡是在程式中呼叫乙個庫函式時,都必須包含該函式原型所在的標頭檔案。表示式 include stdio.h 3 break是跳出當前整個迴圈,continue是結束本次迴圈開始下一次...