Mysql 工作筆記

2021-09-30 16:36:18 字數 1690 閱讀 7528

本篇部落格主要用來記錄一些實際工作中會用到的函式以及一些複雜的查詢

group_concat()

函式描述:把查詢結果(多行)中的某一字段用逗號分隔組成乙個值

例如:得到查詢乙個商品所屬分類的名稱,用逗號組合。乙個商品屬於多個分類。

select

group_concat(fgc.classify_name)

from

flk_goods_classify_ships fgcs

left join flk_goods_classify fgc on fgc.goods_classify_id = fgcs.classify_id

where

fgcs.goods_id = 33

and fgcs.is_delete = 0

find_in_set()

函式描述:mysql替代like模糊查詢的方法

例如:根據商品分類id查詢該分類下的所有商品,分類id為18

select * from `flk_goods` where find_in_set('18', classifys);
結果如下:

先排序後分組

mysql中,對單錶操作,不使用子查詢,order by必須放到group by後面。

就是只能先分組再排序。

如果我們想先排序 再分組。需要用到子查詢,並且子查詢需要加上limit

例如:表flk_goods_spec_value的資料如下(這裡我們只看藍色選中的資料103-108)

商品id:33 對應的規格有兩種:13 (形狀) 1(顏色)

規格13(形狀)對應的規格值有3種:圓(10) 橢圓(14) 矩形( 1) 這種規格 優先順序最高的是橢圓

規格1(顏色)對應的規格值有3種:紅(15) 黃(14) 藍( 1) 這種規格 優先順序最高的是紅

現在,我想得到該商品每種規格對應的優先順序最高的規格值。

// 子查詢中加了limit  那麼mysql是先排序 再分組

-- explain

select a.* from (

select

f1.*

from

flk_goods_spec_value f1

where

f1.goods_id = 33

order by

`level` desc limit 1000) as a group by a.spec_id

// 子查詢中不加limit  那麼mysql還是先分組 再排序

-- explain

select a.* from (

select

f1.*

from

flk_goods_spec_value f1

where

f1.goods_id = 33

order by

`level` desc) as a group by a.spec_id

SAP工作筆記

sap 筆記整理 sap筆記整理 1一 abap 開發部分 21 常用tcode se80 se38 se11 se10 se93 22 se11 是abap 字典,可以查詢資料庫欄位和儲存資訊。33 se10 用來查詢開發過的程式相關資訊。34 se93 用來發布程式,給程式乙個tcode.3 5...

工作筆記(二)

對 android系統源 情景分析 書中例子 在裝置驅動程式中 開啟裝置函式比如 freg open struct inode inode,sruct file filp 它的作用實質上就是將file這個檔案結構體中的空指標成員變數private data賦上你所要訪問的裝置的結構體的位址而已。以便...

工作筆記 ALG cscope

alg是路由器的功能,如果兩台pc之間用路由器相連並使用ftp傳輸資料,則內網的資料報經過路由器的時候會有兩個ip位址被替換掉,ip報頭的內網ip通過nat功能被替換掉和tcp報文中的ip被alg功能替換掉。如果兩台pc直接相連不經過路由器則資料報的這兩個ip就都不會被替換掉 vimrc是vim的定...