3-1,數(shù)據(jù)庫(kù)查詢(xún)高級(jí)用法

1,In的用法

語(yǔ)法:字段 (not)in (數(shù)據(jù)集)

例:select * from member id in (1,2);

查詢(xún)id為1,或者2的用戶信息

select * from member id not in (1,2);

查詢(xún)id不為1,2的用戶的信息


2,模糊查詢(xún)like的用法

語(yǔ)法:like '%字符' 查詢(xún)包含’字符‘內(nèi)容的數(shù)據(jù),%可以放在字符前,后,或者前后都放

例:select * from member where regname like '%小';

查詢(xún)最后一個(gè)字為小的名字

select* from member where regname like '小%';

查詢(xún)第一個(gè)字符為小字的名字

select *from member where regname like'% 小%';

查詢(xún)包含‘小’字的名字

3,count(函數(shù))統(tǒng)計(jì)行數(shù),縱向統(tǒng)計(jì)

語(yǔ)法:select count(字段名)from 表名;

例:select count (*)from member;(*性能較低,不建議使用,可以替換為1或者任何常量,甚至不在表里的比如10086都可以)

select count(1)from member.(表示一個(gè)常量列,每行對(duì)應(yīng)的值都為1)

統(tǒng)計(jì)行數(shù)

4,去重distinct的用法

去除查詢(xún)結(jié)果中的重復(fù)數(shù)據(jù)

語(yǔ)法:select distinct 字段名 from 表名;

例:select distinct regname from member;

去重查詢(xún)?nèi)嗣?/p>

2,select distinct 字段,字段2... from 表名

只有字段1,2都相等才去重

例:select distinct memberid,amount from inverst;

查詢(xún)?nèi)コ齧emberid和amount相等的數(shù)據(jù)

5,between...and的用法

語(yǔ)法:WHERE column BETWEEN value1(大的值) AND value2(小的值)

WHERE column NOT BETWEEN value1 AND value2

例:select *from invest where amount between 10000 and 30000;

查詢(xún)投資金額在1w-3w的相關(guān)信息

6,group by分組

使用場(chǎng)景:group by顧名思義就是按照某個(gè)字段來(lái)分組,它必須有“聚合函數(shù)”來(lái)配合才能使用,使用時(shí)至少需要一個(gè)分組字段。某某信息來(lái)進(jìn)行分組

語(yǔ)法:select 字段1,字段2,聚合函數(shù) from 表名 group by 字段 having "condition";

語(yǔ)法解釋?zhuān)?/p>

聚合函數(shù):對(duì)一組值執(zhí)行計(jì)算并返回單一的值得函數(shù)。聚合函數(shù)經(jīng)常與select語(yǔ)句和group by子句一同使用,常見(jiàn)的聚合函數(shù)有:sum(),count(),avg(),min(),max()等

having:在分完組以后如果想在這個(gè)分組結(jié)果的基礎(chǔ)上繼續(xù)過(guò)濾的話可以通過(guò)having+condition增加條件來(lái)過(guò)濾

condition:過(guò)濾條件

示例

請(qǐng)按項(xiàng)目分組,統(tǒng)計(jì)投資表中各個(gè)項(xiàng)目的投資次數(shù)

select loanid,count(1)from invest group by loanid;

7,查詢(xún)-分頁(yè)(limit)

分頁(yè)是數(shù)據(jù)庫(kù)做的

1,語(yǔ)法:select ...from 表名 limit m,n;

m指的索引值是從m開(kāi)始,n表示每頁(yè)要取多少條

示例

每頁(yè)取十條展示

第一頁(yè)為:limit 0,10? ? 表示取索引從0開(kāi)始取第10條記錄

第二頁(yè)為:limit 10,10? 表示取索引從10開(kāi)始取10條記錄

第三頁(yè)為:limit 20,10? 表示取索引從20開(kāi)始取10條記錄

每頁(yè)顯示x條數(shù)據(jù),顯示到第y頁(yè)時(shí),分頁(yè)語(yǔ)句的x和y分別是多少

select *from member limit (y-1)x,x;

2,Top語(yǔ)法:查詢(xún)前幾條數(shù)據(jù)

語(yǔ)法:select ...from 表名 limit m;

select *from member order by desc limit 10;

查詢(xún)前10條記錄

3,偏移量? offest

語(yǔ)法:select ...from 表名 limit m(每頁(yè)的條數(shù)) offset n(從第幾頁(yè)開(kāi)始);

ps:沒(méi)有空格??!

select*from member limit 10 offset 0;

每頁(yè)取10條,從第一頁(yè)開(kāi)始

select*from member limit 10 offset 1;

每頁(yè)取10條,從第二頁(yè)開(kāi)始

查詢(xún)--常用的mysql函數(shù)

1,數(shù)值相關(guān)函數(shù)

求字段A的最小值:min(字段A)

求字段A的最大值:max(字段A)

求字段A的平均值:avg(字段A)

求字段A的和:sum(字段A)

2,日期函數(shù)

為指定日期增加一個(gè)時(shí)間間隔的函數(shù):DATE_ADD(date,Interval,expr unit)

date:時(shí)間,

Interval:關(guān)鍵字,

expr:表達(dá)式

unit: 單位(比如年,月,日,時(shí),分,秒)

3,字符串函數(shù)

字符串拼接函數(shù):concat(字段A,字段B)

字符串截取函數(shù):SUBSTR(字段A,截取開(kāi)始的位置position,截取字符個(gè)數(shù))

語(yǔ)法:substr(string string,num start,num length);

string為字符串;

start為起始位置;

length為長(zhǎng)度。

獲取字符串長(zhǎng)度的函數(shù):length(字段A)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容