從之前的帖子上看到,按周查詢的sql語句,元旦過後的第二週發現資料出不來了,才知道按周查詢還有乙個跨年的問題
根據上次得到的按周查詢的sql進行了一下調整,完美解決了跨年的問題
直接利用date_sub(now(), interval 7 day) 函式,對時間驚醒處理,減去七天,然後再用 yearweek()函式去跟資料庫裡的時間進行篩選,最後再按week分組,這樣就可以處理掉跨年時的問題了。
修改後的查詢近七周(不包括本週)
where
yearweek(date_format(你的表的時間字段, '%y-%m-%d'),1) = yearweek(date_sub(now(), interval 0 day))
or yearweek(date_format(你的表的時間字段, '%y-%m-%d'),1) = yearweek(date_sub(now(), interval 7 day))
or yearweek(date_format(你的表的時間字段, '%y-%m-%d'),1) = yearweek(date_sub(now(), interval 14 day))
or yearweek(date_format(你的表的時間字段, '%y-%m-%d'),1) = yearweek(date_sub(now(), interval 21 day))
or yearweek(date_format(你的表的時間字段, '%y-%m-%d'),1) = yearweek(date_sub(now(), interval 28 day))
or yearweek(date_format(你的表的時間字段, '%y-%m-%d'),1) = yearweek(date_sub(now(), interval 35 day))
or yearweek(date_format(你的表的時間字段, '%y-%m-%d'),1) = yearweek(date_sub(now(), interval 49 day))
group by
周次;
這裡按星期一為每週的第一天計算。 oracle 跨年按周分組查詢
最近因為專案需求用到了按周分組 group by g.shop id,to char ds.stat date,iw 看之前的查詢語句發現了語句不具備跨年分組的功能 於是乎新增上了年 group by g.shop id,to char ds.stat date,yyyyiw 本來認為這個問題就被簡...
雜湊 查詢出現過的數字
time limit 1000ms memory limit 65536k 有乙個資料字典,裡面存有n個數字 n 100000 小明現在接到乙個任務,這項任務看起來非常簡單 給定m個數字,分別查詢這m個數字是否出現在字典之中 但是考慮到資料量的問題,小明找到了善於程式設計的你,希望你可以幫他解決這個...
SQL 按匹配條件的多少查詢出匹配度最高的配置資料
按匹配條件的多少查詢出匹配度最高的配置資料.有的時候需要預設配置,但是又需要特殊配置.如何按匹配條件的多少自動的取得特殊配置和預設配置.下面是sqlserver 按匹配條件的多少查詢出匹配度最高的配置資料.select top 1 from select case when qf yydh 3000...