mysql - 如何在MySQL中逐行显示记录字符串

标签 mysql sql select count

当我执行我的选择查询时,我得到如下结果:

注意:我对 EmpId 和 Absent_dates 列使用了 Group_ConCat() 函数,因为这些列在我的选择查询中从其他表返回多个值

我的查询:

SELECT Group_Concat(tp.EMPCODE), tp.DEPARTMENT, Group_Concat(d.dte) Absentddate, COUNT(tp.EMPCODE) Totalnoofabsentdates
FROM test_prefixmaster tp
JOIN daterange30 d
LEFT JOIN test_prefixtransactions tpt ON (tp.EMPCODE = tpt.empcode) AND DATE(S_DateTime) = d.dte
WHERE tpt.empcode IS NULL
GROUP BY tp.EMPCODE;

执行我的查询后,结果如下:

 EmpId                 Absent_dates                   Total_no_of_Absent_days
    1101                  2012-12-02                            1
    1102,1102          2012-12-02,2012-12-03                    2
    1104,1104,1104     2012-12-02,2012-12-03,2012-12-04         3

但我的实际要求是显示如下结果:

EmpId        Absent_dates            Total_no_of_Absent_days
1101          2012-12-02                     1
1102          2012-12-02
1102          2012-12-03                     2
1104          2012-12-02
1104          2012-12-03
1104          2012-12-04                     3

任何人都可以在 MySQL 中使用什么功能? 谢谢

最佳答案

试试这个

  SELECT tp.EMPCODE, tp.DEPARTMENT, d.dte Absentddate, COUNT(tp.EMPCODE) Totalnoofabsentdates
   FROM test_prefixmaster tp
   JOIN daterange30 d
  LEFT JOIN test_prefixtransactions tpt ON (tp.EMPCODE = tpt.empcode) AND DATE(S_DateTime) = d.dte
    WHERE tpt.empcode IS NULL
  ORDER BY tp.EMPCODE;

关于mysql - 如何在MySQL中逐行显示记录字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162822/

相关文章:

mysql - MySQL中选定值的逗号分隔字符串

mysql - 在 MySQL 结果集中搜索

mysql - 选择消息,计算平均票数并了解用户是否已经投票

php - 文件上传 PHP 脚本不起作用

mysql - 按不同的键子集分组

mysql - 特定字段更新时的时间戳

java - 将十六进制字符串从 varbinary 提取到文件

sql - 如何在条件持续时在Mysql中选择行

mysql - 如何选择评论数、投票总数以及活跃用户是否投票

javascript - 如果用户单击已停用的选项,则返回选项文本