首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写查询以获取基于月份的数据?

如何编写查询以获取基于月份的数据?
EN

Stack Overflow用户
提问于 2013-11-14 09:58:47
回答 1查看 653关注 0票数 2

我的数据库表是:

代码语言:javascript
复制
attendence date     admission number         attendence

  2013-10-2         LSTM-0008/2013-2014      present

 2013-10-19         LSTM-0008/2013-2014      absent

  2013-9-20         LSTM-0008/2013-2014      present

上面是我的数据库表。

我想根据数据库表显示这样的表:

代码语言:javascript
复制
 MonthName     totalWorkingDays     Present     absent

 october            26                 1          1
 november           26                 1          0

我编写了如下mysql查询:

代码语言:javascript
复制
SELECT DISTINCT monthname(attendencedate)as monthname , COUNT (*) as totalworking days, 
  (SELECT COUNT(*) FROM lstms_attendence WHERE attendence='present' AND addmissionno='LSTM-0008/2013-2014') as present,
  (SELECT COUNT(*) FROM lstms_attendence WHERE attendence='absent' AND addmissionno='LSTM-0008/2013-2014') as absent 
FROM lstms_attendence 
WHERE addmissionno='LSTM-0008/2013-2014'
GROUP BY attendencedate;

这对我没有用,有人给我建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-14 10:09:32

试试这个:

代码语言:javascript
复制
SELECT monthname(attendencedate) AS monthname,
  COUNT(*) AS totalworking_days,
  SUM(CASE WHEN attendence = 'present' THEN 1 ELSE 0 END) AS present,
  SUM(CASE WHEN attendence = 'absent' THEN 1 ELSE 0 END AS absent      
FROM lstms_attendence
WHERE addmissionno = 'LSTM-0008/2013-2014'
GROUP BY monthname(attendencedate);

它将对当前列中每一行进行1的求和,否则为0。出席情况相同=“缺席”

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19974574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档