第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

mysql查詢計(jì)算排序的問題

mysql查詢計(jì)算排序的問題

暮色呼如 2019-05-22 20:35:57
簽到表:字段有用戶iduserid簽到時(shí)間signtime時(shí)間戳類型int簽到類型type分為0和1分別代表簽到和簽退,一個(gè)用戶一天可以簽兩次,一次簽到一次簽退。簽到和簽退都是必須在一天,不考慮不在一天?,F(xiàn)在想要把簽到和簽退之間的時(shí)間(兩個(gè)時(shí)間相減)查出來,并且按照這個(gè)時(shí)間排序,最后分組給每個(gè)用戶。這還需要考慮到,這個(gè)用戶有簽到,沒簽退的情況。主要是判斷如果這個(gè)用戶都有簽到和簽退就把兩個(gè)時(shí)間的差值求出來這個(gè)弄出來就好了這如何寫sql計(jì)算呢
查看完整描述

2 回答

?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

假設(shè)表結(jié)構(gòu)如下
CREATETABLE`signs`(
`userid`int(11)NOTNULL,
`signtime`int(11)NOTNULL,
`type`tinyint(1)DEFAULTNULL,
PRIMARYKEY(`userid`,`signtime`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
可以用如下SQL解決
selecttmp.*,
max_signout-min_signdiff#簽退時(shí)間差
from(
select
date(FROM_UNIXTIME(signtime))day,
userid,
min(
casetype
when0then
signtime
when1then
#這里表示的是一個(gè)無窮大的意思,反正就是讓簽退時(shí)間不參與比較,
100000000000
end
)min_sign,#一天中的最早的簽到時(shí)間
max(
casetype
when0then
0
when1then
signtime
end
)max_signout#一天中的最晚簽到時(shí)間
fromsigns
groupby1,2
)tmp
orderbydiffdesc;
不過沒有考慮到跨天簽到的,比如早上9點(diǎn)打卡,第二天上午7點(diǎn)下班的情況。。。。
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-22
?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

這個(gè)需求其實(shí)就是用同一個(gè)表以aliased方式進(jìn)行聯(lián)合查詢而已,但是,由于你的signtime是int類型,所以,無法按照時(shí)間的格式來確定“何為同一天?”,這個(gè)條件。
至于你的signtime有啥規(guī)律,這得需要你把詳細(xì)的內(nèi)容貼出來。
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-22
  • 2 回答
  • 0 關(guān)注
  • 482 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)