12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-11-25 13:36:58
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
1、用SQL查询最近N天的数据思路:先获取当前的时间,然后更具当前时间去减去对应的天数,就可以得到需要的天数了。然后用这些天数作为条件,然后即可查询出需要多少天的数据了。--
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
思路:先获取当前的时间,然后更具当前时间去减去对应的天数,就可以得到需要的天数了。然后用这些天数作为条件,然后即可查询出需要多少天的数据了。
--获取当前时间SELECTCURRENT_TIMESTAMP;--或SELECTnow();selectCURRENT_TIMESTAMP::DATEAS"当前日期";SELECTCURRENT_DATE;selectCURRENT_TIMESTAMP::TIMEAS"当前时间";SELECTCURRENT_TIME;
最近N天
--最近7天SELECTDATE(T)ASDAYFROMgenerate_series((CURRENT_TIMESTAMP-INTERVAL'6day')::DATE,CURRENT_TIMESTAMP::DATE,'1days')AST;
当然6 day、1 day这些也是可修改的;
--统计最近30、7、昨天、今天的数据SELECTcount(*)ASAllData,count(*)filter(WHEREcreate_timeBETWEEN(SELECTCURRENT_DATE-INTERVAL'30day')ANDCURRENT_DATE)ASLast30DayData,count(*)filter(WHEREcreate_timeBETWEEN(SELECTCURRENT_DATE-INTERVAL'7day')ANDCURRENT_DATE)ASLast7DayData,count(*)filter(WHEREcreate_timeBETWEEN(SELECTCURRENT_DATE-INTERVAL'1day')ANDCURRENT_DATE)ASYesterdayData,count(*)filter(WHEREcreate_time>=CURRENT_DATE)AStodayAddDataFROMtable_name;
实例如下:查询lic_plate字段不为空和为空的最近7天的数据
--查询lic_plate字段不为空的最近7天的数据selectcount(tn.lic_plate)ASnumber,tn.create_timeASpercentagefromtable_nametnwheretn.create_timein(SELECTDATE(T)ASDAYFROMgenerate_series((CURRENT_TIMESTAMP-INTERVAL'6day')::DATE,CURRENT_TIMESTAMP::DATE,'1days')AST)ANDlic_plateisnotnullgroupbytn.create_timeorderbytn.create_time;--查询lic_plate字段为空的最近7天的数据selectcount(id)ASnumber,CSQV.create_timeASpercentagefrom(select*fromtable_nametnwherelic_plateisnull)ASCSQVwhereCSQV.create_timein(SELECTDATE(T)ASDAYFROMgenerate_series((CURRENT_TIMESTAMP-INTERVAL'6day')::DATE,CURRENT_TIMESTAMP::DATE,'1days')AST)groupbyCSQV.create_time;2、用SQL语句实现替换字段里的内容
思路:使用替换函数替换即可
--替换语句update表名set替换字段名=replace(替换字段名,'被替换内容','替换内容');
实例如下:将 my_test 表的 test_content字段内容进行替换
updatemy_testsettest_content=replace(test_content,'1','18');
替换函数:如果没有可以创建,创建函数如下:
--replacealloccurrencesinstringofold_substrwithnew_substr--auto-generateddefinitioncreatefunctionreplace(text,text,text)returnstextimmutablestrictcost1languageinternalas$$begin--missingsourcecodeend;$$;commentonfunctionreplace(text,text,text)is'replacealloccurrencesinstringofold_substrwithnew_substr';3、SQL将查询结果赋值
--查询表数据,给test_content字段并赋值selecttest_id,test_code,'测试数据'test_contentfrommy_test;--查询表数据给自定义ABCD字段并赋值selecttest_id,test_code,'测试数据'ABCDfrommy_test;4、SQL查询字段内容为 NULL值时候赋值
selecttest_id,test_code,COALESCE(test_content,'测试数据')ABCDfrommy_test;--||selecttest_id,test_code,CASEWHENtest_contentISNOTNULLTHENtest_contentELSE'测试数据'ENDABCDfrommy_test;
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19