婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQL面試題:求時間差之和(有重復不計)

SQL面試題:求時間差之和(有重復不計)

熱門標簽:在哪里申請400電話 萊西市地圖標注 走過哪個省地圖標注 安徽ai電話電銷機器人有效果嗎 巫師三血與酒地圖標注 常州網絡外呼系統開發 外呼系統電銷受騙 400電話申請信用卡 銷售語音電話機器人

面試某某公司BI崗位的時候,面試題中的一道sql題,咋看一下很簡單,寫的時候發現自己缺乏總結,沒有很快的寫出來。

題目如下:

求每個品牌的促銷天數

表sale為促銷營銷表,數據中存在日期重復的情況,例如id為1的end_date為20180905,id為2的start_date為20180903,即id為1和id為2的存在重復的銷售日期,求出每個品牌的促銷天數(重復不算)

表結果如下:

+------+-------+------------+------------+
| id | brand | start_date | end_date |
+------+-------+------------+------------+
| 1 | nike | 2018-09-01 | 2018-09-05 |
| 2 | nike | 2018-09-03 | 2018-09-06 |
| 3 | nike | 2018-09-09 | 2018-09-15 |
| 4 | oppo | 2018-08-04 | 2018-08-05 |
| 5 | oppo | 2018-08-04 | 2018-08-15 |
| 6 | vivo | 2018-08-15 | 2018-08-21 |
| 7 | vivo | 2018-09-02 | 2018-09-12 |
+------+-------+------------+------------+

最終結果應為

brand all_days
nike 13
oppo 12
vivo 18

建表語句

-- ----------------------------
-- Table structure for sale
-- ----------------------------
DROP TABLE IF EXISTS `sale`;
CREATE TABLE `sale` (
 `id` int(11) DEFAULT NULL,
 `brand` varchar(255) DEFAULT NULL,
 `start_date` date DEFAULT NULL,
 `end_date` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of sale
-- ----------------------------
INSERT INTO `sale` VALUES (1, 'nike', '2018-09-01', '2018-09-05');
INSERT INTO `sale` VALUES (2, 'nike', '2018-09-03', '2018-09-06');
INSERT INTO `sale` VALUES (3, 'nike', '2018-09-09', '2018-09-15');
INSERT INTO `sale` VALUES (4, 'oppo', '2018-08-04', '2018-08-05');
INSERT INTO `sale` VALUES (5, 'oppo', '2018-08-04', '2018-08-15');
INSERT INTO `sale` VALUES (6, 'vivo', '2018-08-15', '2018-08-21');
INSERT INTO `sale` VALUES (7, 'vivo', '2018-09-02', '2018-09-12');

方式1:

利用自關聯下一條記錄的方法

select brand,sum(end_date-befor_date+1) all_days from 
 (
 select s.id ,
  s.brand ,
  s.start_date ,
  s.end_date , 
  if(s.start_date>=ifnull(t.end_date,s.start_date) ,s.start_date,DATE_ADD(t.end_date,interval 1 day) ) as befor_date
 from sale s left join (select id+1 as id ,brand,end_date from sale) t on s.id = t.id and s.brand = t.brand
 order by s.id
 )tmp
 group by brand

運行結果

+-------+---------+
| brand | all_day |
+-------+---------+
| nike |  13 |
| oppo |  12 |
| vivo |  18 |
+-------+---------+

該方法對本題中的表格有效,但對于有id不連續的品牌的記錄時不一定適用。

方式2:

SELECT a.brand,SUM(
 CASE 
  WHEN a.start_date=b.start_date AND a.end_date=b.end_date
  AND NOT EXISTS(
  SELECT *
  FROM sale c LEFT JOIN sale d ON c.brand=d.brand 
   WHERE d.brand=a.brand
   AND c.start_date=a.start_date
   AND c.id>d.id 
   AND (d.start_date BETWEEN c.start_date AND c.end_date AND d.end_date>c.end_date
   OR 
  c.start_date BETWEEN d.start_date AND d.end_date AND c.end_date>d.end_date)
    ) 
   THEN (a.end_date-a.start_date+1) 
  WHEN (a.id>b.id AND b.start_date BETWEEN a.start_date AND a.end_date AND b.end_date>a.end_date ) THEN (b.end_date-a.start_date+1)
  ELSE 0 END
  ) AS all_days 
FROM sale a JOIN sale b ON a.brand=b.brand GROUP BY a.brand

運行結果

+-------+----------+
| brand | all_days |
+-------+----------+
| nike |  13 |
| oppo |  12 |
| vivo |  18 |
+-------+----------+

其中條件

d.start_date BETWEEN c.start_date AND c.end_date AND d.end_date>c.end_date
   OR 
c.start_date BETWEEN d.start_date AND d.end_date AND c.end_date>d.end_date

可以換成

c.start_date  d.end_date AND (c.end_date > d.start_date)

結果同樣正確

用分析函數同樣可行的,自己電腦暫時沒裝oracle,用的mysql寫的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 在php和MySql中計算時間差的方法詳解
  • mysql計算時間差函數
  • 在php和MySql中計算時間差的方法

標簽:來賓 果洛 陽江 煙臺 赤峰 黃石 河北 鞍山

巨人網絡通訊聲明:本文標題《SQL面試題:求時間差之和(有重復不計)》,本文關鍵詞  SQL,面,試題,求,時間差,之和,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL面試題:求時間差之和(有重復不計)》相關的同類信息!
  • 本頁收集關于SQL面試題:求時間差之和(有重復不計)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人午夜视频免费看| 午夜a成v人精品| 成人中文字幕电影| 国产精品乱子久久久久| 91在线观看地址| 日本欧美韩国一区三区| 国产精品成人免费| 777午夜精品免费视频| 色婷婷综合久久久久中文一区二区 | 日本美女视频一区二区| 91在线视频免费91| 亚洲午夜一区二区三区| 日韩一区二区在线观看视频| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩一区小说| 日韩欧美国产1| 日本一区二区在线不卡| 在线看一区二区| 亚洲资源在线观看| 欧美理论电影在线| 日韩经典一区二区| 欧美性大战久久| 91精品国产综合久久精品性色| www.日韩大片| 色悠悠久久综合| 成人综合在线视频| 成年人网站91| 91浏览器入口在线观看| 91电影在线观看| 色悠悠亚洲一区二区| 亚洲国产精品精华液2区45| proumb性欧美在线观看| 亚洲最新视频在线播放| 91精品国产免费| 国产精品一级片在线观看| 午夜精品久久久久久久久久| 日韩视频在线一区二区| 风间由美一区二区av101| 亚洲天堂免费看| 久久久精品天堂| 在线观看成人小视频| 蜜臀99久久精品久久久久久软件| 欧美私模裸体表演在线观看| 蜜臀精品一区二区三区在线观看| 在线亚洲+欧美+日本专区| 久色婷婷小香蕉久久| 国产精品欧美一区二区三区| 在线视频你懂得一区| 欧美影院午夜播放| 99这里都是精品| 久久综合狠狠综合久久激情| 性做久久久久久免费观看| 成人激情小说乱人伦| 日韩精品一区二区三区四区| 亚洲一区国产视频| 中文字幕av一区二区三区高| 日韩和欧美一区二区三区| 精品视频在线看| 成人深夜福利app| 日韩一区二区高清| 国产福利一区二区三区视频在线 | 国产精品丝袜在线| 99久久国产综合精品色伊| 国产福利一区二区三区在线视频| 日韩一级高清毛片| 成人性生交大合| 午夜视频一区二区三区| 欧美性感一区二区三区| 另类专区欧美蜜桃臀第一页| 狠狠色狠狠色综合系列| 国产日韩欧美精品综合| 亚洲午夜精品久久久久久久久| 丝袜美腿亚洲一区| 在线电影一区二区三区| 欧美一区二区三区白人| 国产精品初高中害羞小美女文| 99视频有精品| 91国偷自产一区二区开放时间| 99久久精品免费观看| 一区二区在线观看不卡| 日本成人在线电影网| 欧美色倩网站大全免费| 欧美v亚洲v综合ⅴ国产v| 国产a区久久久| 制服丝袜亚洲色图| 欧美区在线观看| 天堂va蜜桃一区二区三区漫画版| 91精品国产综合久久福利| www.66久久| 精品久久久久久久久久久久久久久 | 欧美午夜理伦三级在线观看| 亚洲午夜一区二区| 国产一区二区0| 成a人片国产精品| 久久99精品国产91久久来源| 欧美日韩一区视频| 一区二区三区国产精华| 又紧又大又爽精品一区二区| 91国偷自产一区二区开放时间 | 欧美日韩五月天| 蜜臀av一区二区| 欧美aaaaaa午夜精品| 日韩美一区二区三区| 欧美日韩国产美| www.久久久久久久久| 国产精品美女视频| 99re热这里只有精品视频| 91丨porny丨首页| 5566中文字幕一区二区电影| 一本大道久久a久久综合| 精品国产1区二区| 精品夜夜嗨av一区二区三区| 一区二区三区在线视频免费| 色综合天天狠狠| 国产成人aaa| 欧美一区二区三区影视| 日精品一区二区三区| 亚洲欧洲日韩综合一区二区| 日本一区二区三区dvd视频在线| 亚洲永久精品国产| 三级欧美韩日大片在线看| 久久av中文字幕片| 欧洲精品一区二区三区在线观看| 欧美久久久久久久久| 日韩精品一区二区三区在线观看 | 天天做天天摸天天爽国产一区| 亚洲夂夂婷婷色拍ww47| 欧美激情中文字幕| 成人精品视频一区二区三区 | 欧美自拍丝袜亚洲| 一区二区欧美国产| 最近日韩中文字幕| 亚洲一区二区三区四区五区中文| 亚洲视频精选在线| 欧美日韩精品高清| 懂色av一区二区夜夜嗨| 色综合久久综合网欧美综合网| 国产91在线观看丝袜| 精品在线一区二区| 亚洲免费电影在线| 国产精品一区二区在线观看不卡| 国产精品女主播av| 色婷婷精品大在线视频| 91啦中文在线观看| 成人av资源网站| 26uuu色噜噜精品一区二区| 久久亚洲影视婷婷| 亚洲国产成人私人影院tom | av电影天堂一区二区在线观看| 欧美一区二区久久久| 亚洲第一主播视频| 欧美乱妇一区二区三区不卡视频| 69精品人人人人| 奇米影视一区二区三区小说| 一本久久综合亚洲鲁鲁五月天| 蜜乳av一区二区| 国产精品日日摸夜夜摸av| 麻豆91精品91久久久的内涵| 成人中文字幕电影| 在线亚洲高清视频| www.成人网.com| 久久激五月天综合精品| 国产精品18久久久久久久久久久久| 成人福利视频在线看| 亚洲视频一二三区| 高清国产一区二区三区| 亚洲黄色av一区| 欧美国产乱子伦| 日本亚洲视频在线| 中文字幕一区二区三区av| 国产欧美综合色| 久久久亚洲欧洲日产国码αv| 日韩精品一区二区三区蜜臀| 色婷婷综合视频在线观看| 香蕉影视欧美成人| 国产日韩欧美电影| 91美女片黄在线观看| 成人久久久精品乱码一区二区三区| 欧美成人a在线| 亚洲黄一区二区三区| 一区二区在线观看免费视频播放 | 欧美性大战久久久| 日韩一区二区精品| 亚洲特黄一级片| 国产精品污网站| 强制捆绑调教一区二区| 国产精品一区免费视频| 国产精品动漫网站| 亚洲国产精品成人综合色在线婷婷| 中文字幕一区二区在线观看 | 欧美性猛交xxxx黑人交| 欧美一区二区三区视频免费| 717成人午夜免费福利电影| 精品视频一区二区不卡| 欧美日韩www| 国产米奇在线777精品观看| 亚洲色图在线视频| 精品粉嫩超白一线天av| 亚洲va国产天堂va久久en| 午夜一区二区三区视频|