求助:關于sql如何統計時間的問題

三、現在我們假設應用計時分為app應用和web應用,需要考慮如下幾個方面:

(1)多時間段(2)表中有冗雜數據

(3)用戶是在web端和app端都登陸,這種類型的重復時間段只能取其一

?

存在數據:

存在表:應用啟動時間統計表Applic_Sessions

字段:applic ???platform ????start_time ????end_time ????status ????rowid

???????????? X ???????? web ??????????11:30 ?????????????18:33 ??????????1 ??????????1

???????? ? ? X ???????? app ?????????? 11:10 ? ?????????? 17:50 ??????????1 ??????????2

?????????????X ???????? app ???????? ? 17:55 ?????????????19:55 ??????????1 ??????????3

???????????? X ???????? app ?????????? 20:31 ?????????????22:31 ??????????1 ??????????4

???????????? X ???????? web ?????????? 02:01 ?????????????02:40 ??????????1 ??????????5

?

利用sql語句的方式獲取到開始時間和結束時間,timestampdiff( )相減得到。

(1)取出X用戶兩平臺中啟動的最小時間

(2)取出X用戶兩平臺中結束的最大時間

按照以上步驟,這樣會帶來一個問題:如rowid 15的記錄,相減所得結果明顯大于實際結果。

?

嘗試方案1:將不同平臺的數據區分開單獨計數:

(1)select t.* from Applic_Sessions t where t.platform = “web”;

視圖:Web_View

applic ????platform ?????start_time???? end_time ???? status ????rowid

????X ????????web ??????????????11:30 ?????????????18:33 ??????????1 ??????????1

??? X ???????? web ??????????????02:01 ?????????????02:40 ??????????1 ??????????2

select sum(timestampdiff(second,start_time,end_time)) from Web_View;

?

(2)select t.* from Applic_Sessions t where t.platform = “app”;

視圖:App_View

applic ?????platform ????start_time ????end_time ????status ????rowid

????X ????????????app ??????????11:10 ?????????????17:50 ???????? ??1 ??????????1

????X ????????????app ??????????17:55 ?????????????19:55 ???????? ? 1 ??????????2

????X???????????? app ??????????20:31 ?????????????22:31 ???????? ? 1 ??????????3

select sum(timestampdiff(second,start_time,end_time)) from Web_View;

?

這樣求取出單個平臺的使用時長,這種適用于:app使用時長可以換取雙倍積分 等需求。但是至于中間的重復時間段更加干不掉了,這種方法pass

方案2

視圖:Applic_Sessions

applic platform ?start_time end_time status rowid

Xweb??????11:30?18:33??1??1

Xapp??????11:10?17:50??1??2

Xapp??????17:55?19:55??1??3

X app ??????20:31 ?22:31 ??1 ??4

X web ??????02:01 ?02:40 ??1 ??5

?

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

????????????????????????????????????????????????????11:30............................................18:33(web)

????????????????????????????????????11:10....................17:50(app)

????????????????????????????????????????????????????????????????????????????????????????17:55.................19:55(app)

????????????02:01....02:40 ??????????????????????????????????????????????????????????????????????????????????????????????????  ?20:31.......22:31

?

整理一下數據,發現其中的難點就是:web的使用時長段與app的使用時間段夾雜在一起,其他正常數據橫向合并就成,那第一步就是把這些夾雜數據單獨拎出來,然后取出最小啟動值和最大結束值,相減就好拉:

寫下這個sql,越看越別扭,能行么---顯然不行

select t.* from Applic_Sessions t where

????????t.start_time between (select min(t.start_time) from Applic_Sessions t) ????

??????? and (select max(t.end_time) from Applic_Sessions t)

????????????????and t.end_time between t.start_time and t.end_time;

至此,卡住了。。。

?

絞盡了腦汁,搞不定啊,有哪位大神可以幫幫忙啊,謝謝了

?

轉載于:https://www.cnblogs.com/bling123/p/8493254.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281137.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281137.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281137.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

onlyoffice中文字體下載

原文同步自作者博客:https://www.daxueyiwu.com/post/778 下劃線開頭的是頁面顯示中文的字體,不帶下劃線的是頁面顯示英文的字體 calibri.ttf -CalibriTimes New Roman.ttf _FANGSONG.otf -仿宋FANGSONG.otf_FS_GB2312.otf -仿宋_GB2312_HWZS.otf -華文…

onlyoffice 20并發限制處理

原文同步自作者博客:https://www.daxueyiwu.com/post/31 開源版本連續打開20個頁面就會彈出該提示。 一.方案一 修改六個app.js文件 find ./ -name app.js 目錄下所有app.js文件,對代碼行進行修改,只是經過簡單的測試,希望發現…

[Linux環境]-centos7下安裝jdk1.8.0_141流程.

1.查看當前虛擬機java環境版本: java -version [rootcentos-linux-7 bin]# java -version java version "1.7.0_111" OpenJDK Runtime Environment (rhel-2.6.7.2.el7_2-x86_64 u111-b01) OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode) 2.查看當前安裝版…

石橋圖里的一個故事

唐朝詭事錄有一個石橋圖章節,里面記載了一個故事。十年前,南州鄉賢謝員外的兩個兒子,要求謝家的老仆人帶自己去湖里游玩。哪知游玩到湖中間,突然下起了瓢潑大雨,員外家的一個兒子被驚嚇掉落水里。老仆人的兒子趕忙去救…

onlyoffice更新中文字體總結

原文同步自作者博客:https://www.daxueyiwu.com/post/760 1. 通過字體修改軟件FontCreator修改字體名稱 (1)下載fontcreat.exe (2)將Windows/fonts 下的字體文件拷貝至 我的文檔/fonts (3) 使用fontcreat打開字體…

ubuntu 鍵盤快捷鍵_如何使用鍵盤快捷鍵在Ubuntu中提高生產力

ubuntu 鍵盤快捷鍵diceareawesome1/Shutterstock.comdiceareawesome1 / Shutterstock.comWe’re always looking for new ways to speed up everyday tasks in Ubuntu. We’ll show you some keyboard shortcuts you might not have known about, and show you how to make you…

核心編程之十一章的11-9

def add(x,y): a x y def average(): list1 [] list1.append(a/2) print(list1) return a #為什么return a 放在這里呢,因為如果放在外面的話,根據return的屬性,會結束嵌套數函數 return average() …

Ubuntu 桌面系統升級

本文介紹 Ubuntu 桌面系統升級的兩種方式,通過 UI 或命令行的方式,演示為 20.04 升級為 22.04。并介紹了 windows 的 Linux 子系統 wsl 的升級注意事項。背景之前在學習 ROS2 時,安裝 ros-humble-desktop 出現依賴錯誤:無法修正錯…

onlyoffice修改左上角的logo

原文同步自作者博客:https://www.daxueyiwu.com/post/770 1. 商用版config里配置就能修改logo "editorConfig": {"customization": {"logo": {"image": "https://example.com/logo.png","imageEmbedded&q…

pidgin qq_Pidgin入門指南,通用消息客戶端

pidgin qqIf you find chatting with multiple chat clients troublesome, then Pidgin is the tool for you. In today’s article, we’ll show you how to connect to popular chat networks, encrypt your conversations, and render mathematical formula in Pidgin. 如果…

NumPy學習_00 ndarray的創建

1.使用array()函數創建數組 參數可以為:單層或嵌套列表;嵌套元組或元組列表;元組或列表組成的列表 # 導入numpy庫import numpy as np # 由單層列表創建a np.array([1,2,3])print(a) [1 2 3] # 由嵌套列表創建b np.array([[1.3,2.4], [0.3,4…

記一次 .NET 某自動化采集軟件 崩潰分析

一:背景 1.講故事前段時間有位朋友找到我,說他的程序在客戶的機器上跑著跑著會出現偶發卡死,然后就崩掉了,但在本地怎么也沒復現,dump也抓到了,讓我幫忙看下到底怎么回事,其實崩潰類的dump也有簡…

onlyoffice修改字號

原文同步自作者博客:https://www.daxueyiwu.com/post/758 :/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js 里找到{value:22,displayValue:"22"} 把displayValue對應的值換成漢字字體 小二等 其實中文數字(字…

大數據

大數據技術的快速發展,對現如今人們的思維方式產生了巨大的改變。 首先,大數據的發展,改善了人們思維的局限性。在過去,數據流通速度慢,人們獲取的數據資源有限,所以在看待事物方面,基于過去固有…

如何在 .NET MAUI 中加載 json 文件?

引言:按.NET core傳統方式添加 AddJsonFile("appsettings.json") 在windows平臺和ssr工作正常,但是在 ios 和 android 無法用這種方式,因為資源生成方式不一樣. 使用內置資源方式不夠靈活而且 ios 平臺會提示不能復制 json 文件到目錄,于是進行了幾天的研究,終于能正…

onlyOfice取消上傳文件大小的限制

原文同步自作者博客:https://www.daxueyiwu.com/post/757 使用onlyOfice的時候,在打開的文件中,對文件的大小有限制的,可以在服務中修改被限制的大小,在服務上有/etc/onlyoffice/documentserver/default.json的文件&a…

SSH整合注解版(Spring+Struts2+Hibernate)

整體架構&#xff1a; pom.xml 引入maven節點&#xff1a; <dependencies><!--單測--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.3</version><scope>test</scope><…

定時插座動一下就斷_使用插座定時器在某些時候自動將您的Amazon Echo靜音

定時插座動一下就斷The Amazon Echo is an always-listening voice-controlled virtual assistant, but if there are times you’d rather not listen (or be listened to) by the Echo, here’s how to automatically mute it at certain times of the day. Amazon Echo是一個…

周末讀書:《紅樓夢》

【周末讀書】| 作者/Edison大家好&#xff0c;我是Edison。古人曾說“開談不說紅樓夢&#xff0c;讀盡詩書也枉然”&#xff0c;剛好最近我爸開始在閱讀《紅樓夢》&#xff0c;我想起當年看了兩遍《紅樓夢》原著和一遍87版《紅樓夢》電視劇的場景。本文是我首發于2018年的一篇讀…

onlyoffice啟用HTTPS

原文同步自作者博客&#xff1a;https://www.daxueyiwu.com/post/765 HTTPS需要使用SSL證書&#xff0c;可以自己簽發也可以用ca機構簽發的&#xff0c;加密效果相同。 生成證書&#xff1a; 創建私鑰 openssl genrsa -out onlyoffice.key 2048 創建CSR openssl req -new -k…