mysql - 查询以获取项目计数,包括缺失数据的零

标签 mysql sql date time

我有一个名为 rsvp 的表,它有 3 列:

  • 编号
  • 姓名
  • 时间

时间将是下午 6:00、下午 6:30、晚上 7:00、晚上 7:30

我想要做的是获得一个将返回 2 列的查询。每次使用的次数和次数。

例如,如果我的表中有两个项目。一个是下午 6:00,另一个是晚上 7:00

我的查询将返回:

6:00pm - 1
6:30pm - 0
7:00pm - 1
7:30pm - 0

我如何从 mysql 查询中获取这些列?

最佳答案

这是一个方法来做到这一点:

SELECT timelist.time, COUNT(rsvp.id) FROM (
    SELECT '6:00pm' AS time UNION ALL
    SELECT '6:30pm'         UNION ALL
    SELECT '7:00pm'         UNION ALL
    SELECT '7:30pm'
) AS timelist
LEFT JOIN rsvp ON timelist.time = rsvp.time
GROUP BY timelist.time
ORDER BY timelist.time

关于mysql - 查询以获取项目计数,包括缺失数据的零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214815/

相关文章:

mysql - 如何使用同一行中其他列的公式和数据自动更新 MYSQL 列值?

mysql - 如何获得最少的免费约会

php - 用于工作日/周末计数的 MySQL/PHP 算法(每月)

MySQL Workbench - 过滤日期

php - 将文本文件导入数据库

mysql - 切换到 mysqli 并需要一种新方法来获取永久链接

SQL - WHERE 子句中的派生字段

sql - 过滤对具有多个值的 crosstab() 查询结果的意外影响

PHP日期6个月以内

php - undefined variable 错误