簡體   English   中英

mysql&php-如何從多個日期范圍中計算總的經驗年數?

[英]mysql & php - How to calculate total year of experience from multiple date range?

我想計算每個特定用戶ID的總體驗年和月。 下表中的user_id可以是多個,如下所示。 這里的user_id 14的總經驗范圍是2010年1月3日至2013年11月30日,預期結果為3年11個月。 如何在php或mysql中做到這一點?

在此處輸入圖片說明

評論與您的​​情況相關,但不完整。

如果exp_to不可為空:

select user_id, sum( datediff(exp_to, exp_from) +1 )
from experience
group by user_id;

筆記:

  • 不要忘記總和為+1 ,因為對於用戶25,它將返回0,而我們可以體面地認為用戶工作1天
  • 對於用戶14,根據您的屏幕截圖,總共需要880天:您必須計算月份數(例如,使用PHP)。

如果exp_to可為空(如果用戶仍在同一位置工作,則有意義):

select user_id, sum( datediff( ifnull(exp_to, now()), exp_from) +1 )
from experience
group by user_id;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM