Mysql查询使用输入日期和外出日期获得每月和每年的计数

时间:2017-06-19 11:19:24

标签: mysql sql

我有一个表合作者,其中包含: 列:hiring_date和release_date(日期类型) 我想计算一年中每月合作者的总数 使用hiring_date和release_date

3 个答案:

答案 0 :(得分:0)

我想你是在问这样的事情但是请在提问时提供更多信息

SELECT COUNT(*) FROM collaborator WHERE hiring_date >= date AND release_date<= date 

答案 1 :(得分:0)

您可以使用“GROUP BY”。 例如,使用hiring_date计算每月协作者的总数:

SELECT MONTH(hiring_date),COUNT(*) FROM `collaborator`
GROUP BY MONTH(hiring_date);

要使用release_date计算一年中每月合作者的总数,请使用:

SELECT MONTH(release_date),COUNT(*) FROM `collaborator `
GROUP BY MONTH(release_date)
WHERE YEAR(release_date) = <year>;

答案 2 :(得分:0)

此代码是为了获得2016年每月招聘合作者的数量

   SELECT  
    SUM(IF(month = '1', total, 0)) AS 'Jan',
        SUM(IF(month = '2', total, 0)) AS 'Feb',
        SUM(IF(month = '3', total, 0)) AS 'Mar',
        SUM(IF(month = '4', total, 0)) AS 'Apr',
        SUM(IF(month = '5', total, 0)) AS 'May',
        SUM(IF(month = '6', total, 0)) AS 'Jun',
        SUM(IF(month = '7', total, 0)) AS 'Jul',
        SUM(IF(month = '8', total, 0)) AS 'Aug',
        SUM(IF(month = '9', total, 0)) AS 'Sep',
        SUM(IF(month = '10', total, 0)) AS 'Oct',
        SUM(IF(month = '11', total, 0)) AS 'Nov',
        SUM(IF(month = '12', total, 0)) AS 'Dec'

     FROM (
    SELECT month(DATE_ENTREE) AS month , count(DATE_ENTREE) as total
    FROM collaborateur where YEAR(DATE_ENTREE) =2016
    GROUP BY month(DATE_ENTREE)) as e

此代码是2016年每月发布的数量

SELECT  
SUM(IF(month = '1', total, 0)) AS 'Jan',
    SUM(IF(month = '2', total, 0)) AS 'Feb',
    SUM(IF(month = '3', total, 0)) AS 'Mar',
    SUM(IF(month = '4', total, 0)) AS 'Apr',
    SUM(IF(month = '5', total, 0)) AS 'May',
    SUM(IF(month = '6', total, 0)) AS 'Jun',
    SUM(IF(month = '7', total, 0)) AS 'Jul',
    SUM(IF(month = '8', total, 0)) AS 'Aug',
    SUM(IF(month = '9', total, 0)) AS 'Sep',
    SUM(IF(month = '10', total, 0)) AS 'Oct',
    SUM(IF(month = '11', total, 0)) AS 'Nov',
    SUM(IF(month = '12', total, 0)) AS 'Dec'

 FROM (
SELECT month(DATEE_SORTIE_COLLABORATEUR) AS month , count(DATEE_SORTIE_COLLABORATEUR) as total
FROM collaborateur where YEAR(DATEE_SORTIE_COLLABORATEUR) =2016
GROUP BY month(DATEE_SORTIE_COLLABORATEUR)) as s

我的目标是计算每个月的合作者总数 希望这可以帮助你理解我的意思