婷婷综合国产,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
    欧美电影精品一区二区| 99久久精品免费精品国产| 久久99深爱久久99精品| 99久久精品国产一区二区三区| 日韩欧美在线一区二区三区| 亚洲一区二区在线免费看| 懂色av一区二区夜夜嗨| 精品福利二区三区| 男男视频亚洲欧美| 欧美妇女性影城| 性做久久久久久免费观看| 欧美日韩一区二区在线观看视频| 一区在线观看免费| www.亚洲免费av| 国产欧美一区二区精品秋霞影院| 久久91精品国产91久久小草| 欧美一级欧美三级在线观看| 视频在线在亚洲| 9191久久久久久久久久久| 亚洲电影一级片| 欧美男同性恋视频网站| 午夜激情一区二区三区| 日韩精品在线看片z| 国产一区二区三区国产| 亚洲国产精品黑人久久久| gogo大胆日本视频一区| 亚洲另类中文字| 欧美色区777第一页| 免费看欧美女人艹b| 日韩欧美国产麻豆| 丁香六月综合激情| 亚洲乱码国产乱码精品精可以看| 欧美日韩一二三区| 精品一区二区三区免费播放| 国产欧美日韩激情| 91国产丝袜在线播放| 图片区日韩欧美亚洲| 欧美成人r级一区二区三区| 国产乱人伦精品一区二区在线观看 | a亚洲天堂av| 亚洲免费大片在线观看| 欧美在线综合视频| 日韩一区精品字幕| 日韩欧美国产小视频| 欧美96一区二区免费视频| 国产精品欧美久久久久一区二区| 成人免费毛片app| 最新国产成人在线观看| 蜜臀av性久久久久蜜臀aⅴ| 国产欧美日韩视频一区二区 | 国产精品乱码妇女bbbb| 国产成人免费高清| 国产欧美精品在线观看| 久久国产精品99久久人人澡| 久久九九久精品国产免费直播| 91丨porny丨蝌蚪视频| 亚洲精品国产精品乱码不99| 在线精品视频一区二区三四| 亚洲高清在线精品| 欧美在线免费视屏| 亚洲成人www| 欧美成人艳星乳罩| 国产99久久久国产精品| 亚洲日本乱码在线观看| 欧美日韩三级在线| 精品一区二区久久| 国产一区欧美日韩| 国产精品高潮呻吟| 在线观看亚洲精品| 高清成人免费视频| 亚洲电影一级片| 国产精品日日摸夜夜摸av| 在线视频国内自拍亚洲视频| 日本va欧美va瓶| 国产精品久久网站| 欧美性受极品xxxx喷水| 一区二区三区蜜桃| 精品国产123| 91亚洲精品久久久蜜桃网站| 亚洲香肠在线观看| 欧美一区二区三区公司| 高潮精品一区videoshd| 亚洲成人av一区二区三区| 精品国产三级a在线观看| 91在线视频官网| 精品影视av免费| 亚洲激情自拍偷拍| 欧美午夜一区二区| 91视频观看视频| 精品一区二区日韩| 亚洲国产婷婷综合在线精品| 国产午夜亚洲精品午夜鲁丝片| 日本高清成人免费播放| 国产综合色精品一区二区三区| 亚洲另类在线制服丝袜| 国产亚洲欧美日韩日本| 69堂亚洲精品首页| 国产精品综合网| 国产自产高清不卡| 夜夜嗨av一区二区三区网页| 国产日韩一级二级三级| 在线成人免费观看| 色综合色综合色综合色综合色综合 | 日本网站在线观看一区二区三区| 日韩女优电影在线观看| 成人免费毛片app| av电影一区二区| 久久66热re国产| 亚洲一区二区精品3399| 国产欧美精品在线观看| 2020日本不卡一区二区视频| 91精选在线观看| 欧美三片在线视频观看| aaa欧美大片| 菠萝蜜视频在线观看一区| 日日夜夜精品视频天天综合网| 亚洲国产高清在线| 精品成人佐山爱一区二区| 欧美猛男gaygay网站| 91蜜桃在线观看| 97se亚洲国产综合自在线| 国产伦精品一区二区三区视频青涩 | 2017欧美狠狠色| 日韩视频免费观看高清在线视频| 日韩精品一区二区三区三区免费| 欧美日韩精品一区二区三区蜜桃| 欧美一区二区精品| 3d动漫精品啪啪1区2区免费| 精品免费一区二区三区| 日韩区在线观看| 欧美日韩国产乱码电影| 精品粉嫩aⅴ一区二区三区四区| 欧美一区二区三区思思人| 久久久99久久精品欧美| 精品va天堂亚洲国产| 国产精品久久久久久久久图文区| 国产精品系列在线| 亚洲成人av免费| 日韩激情一区二区| 成人动漫av在线| 色综合一区二区三区| 日韩一级免费观看| 久久久久高清精品| 久久久99精品免费观看| 国产精品色眯眯| 一区二区三区在线观看国产| 成人免费一区二区三区在线观看| 国产精品网站在线| 欧美不卡视频一区| 亚洲免费观看高清完整版在线观看 | 亚洲精品国产第一综合99久久| 亚洲人精品午夜| 中文字幕制服丝袜成人av| 亚洲18女电影在线观看| 久久精品久久99精品久久| 国产精品66部| 色香蕉久久蜜桃| 欧美一区二区三区爱爱| 久久精品男人的天堂| 亚洲欧洲制服丝袜| 天堂精品中文字幕在线| 国产真实乱对白精彩久久| 99久久国产综合色|国产精品| 欧美亚洲自拍偷拍| 欧美精品久久99| 日韩精品一区二区三区三区免费| 91精品国产丝袜白色高跟鞋| 欧美色精品在线视频| 日韩精品一区二区三区中文精品| 欧美精品一卡两卡| 日韩欧美国产综合在线一区二区三区 | 成人国产免费视频| 91日韩在线专区| 欧美大片拔萝卜| 97精品久久久久中文字幕 | 日韩电影在线看| 99久久精品情趣| 日韩亚洲欧美综合| 国产精品成人一区二区三区夜夜夜| 五月婷婷欧美视频| 不卡的av电影在线观看| 制服丝袜亚洲色图| 国产精品嫩草久久久久| 婷婷开心激情综合| 成人高清免费观看| 蜜乳av一区二区三区| 亚洲自拍与偷拍| 亚洲高清在线精品| 丰满少妇久久久久久久| 欧美日韩激情一区| 精品人伦一区二区色婷婷| 青青国产91久久久久久| 色婷婷久久久亚洲一区二区三区| 欧美不卡一区二区三区四区| 亚洲福利视频一区二区| 99久久国产免费看| 欧美经典三级视频一区二区三区| 亚洲免费av高清| 欧美三级日本三级少妇99| 国产精品国产三级国产三级人妇 |