sql技巧(四)找出用戶最后一條記錄和電話信息拆分

(1) 找到用戶最后一一條記錄

主要用了group_concat() 函數(shù),把分組結(jié)果以","連接,指定排序規(guī)則 ,再用substring_index取走自己想要的位置

示例

參考1-最后一條記錄

(2)把一列中的多值拆分為多行,其余列不變

工作中我們會(huì)遇到這樣的問題,剛開始記錄的時(shí)候表格是下面這個(gè)樣子如表A,后續(xù)有數(shù)據(jù)庫了希望按照關(guān)系型數(shù)據(jù)庫的要求拆分成表B,不同人的信息記錄條數(shù)不一致,好的一點(diǎn)是記錄的分割服都是;

思考:這個(gè)思路很有意思,先把一行變成多行,然后對多行的數(shù)據(jù)進(jìn)行替換!第一個(gè)問題用的主要是函數(shù),第二個(gè)問題主要是思想


示例代碼


表1(原始)
表2(輔助表)


中間表
表4(結(jié)果表)

其中a、b列為輔助列,便于理解思考,實(shí)際取user,phone兩列即可!

參考2-列轉(zhuǎn)化為行

-------------------------------------------------

SELECT roleid ,

SUBSTRING_INDEX(

GROUP_CONCAT(logintime? ORDER BY logintime DESC)? # GROUP_CONCAT? 對查查詢結(jié)果進(jìn)匯總以“,”相連

,",",1) AS? logintime? ? ? ? ? #取出字符串第一個(gè)位置的字符

FROM? rolelogin as a

WHERe? a.logintime >'2017-09-07 00:00:00' and? a.logintime <'2017-09-08 00:00:00'

GROUP BY roleid

--------------------------------

SELECT user ,SUBSTRING_INDEX(mobile,";",a.id) as a ,concat(SUBSTRING_INDEX(mobile,";",a.id-1 ),';') as b ,

REPLACE(SUBSTRING_INDEX(mobile,";",a.id),concat(SUBSTRING_INDEX(mobile,";",a.id-1 ),';'),"")? as? phone? #根據(jù)SUBSTRING_INDEX函數(shù)的特性,替換(a.id-1)部分為 為空值,取出a.id

FROM

id? as? a

CROSS JOIN

(SELECT? user,CONCAT(phone,";") as? mobile ,LENGTH(phone)-LENGTH(replace(phone,';','')) +1 as size ?#確定要拆分成幾行

FROM phonenuber ) as? b

on a.id <= b.size

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

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

  • 50個(gè)常用的sql語句Student(S#,Sname,Sage,Ssex) 學(xué)生表Course(C#,Cname...
    哈哈海閱讀 1,339評論 0 7
  • 什么是SQL數(shù)據(jù)庫: SQL是Structured Query Language(結(jié)構(gòu)化查詢語言)的縮寫。SQL是...
    西貝巴巴閱讀 2,010評論 0 10
  • 2017/3/14 RDBMS:關(guān)系型數(shù)據(jù)庫管理系統(tǒng) 關(guān)系模型獨(dú)立于語言 SQL有幾種不同類型的語言:數(shù)據(jù)定義語言...
    ancherl閱讀 1,806評論 0 6
  • 在寫CSS的過程中,盡量減少代碼的重復(fù),對于代碼閱讀和維護(hù)的好處是顯而易見的。在修改代碼時(shí),需要改動(dòng)的變量越少,意...
    饑人谷_Grey高閱讀 831評論 0 1
  • 只要有一絲希望,在絕望面前都會(huì)被無限可能的放大。 陷入在別人眼里是舒適的自我深淵里,自身不夠堅(jiān)定,被重重因素捆住,...
    阿旺羊姐姐閱讀 448評論 0 0

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