我的SQL数据库结构如下...
电子邮件文件夹
id, name
email_messages
id, id_folder, date, date_read
在单个 MySQL 查询中,我试图获取文件夹名称,它们的电子邮件总数计算每个文件夹的电子邮件总数和未读计数。
到目前为止,尽管 PHP 中返回的数组返回有电子邮件的行数并且不希望从表中的文件夹中返回所有文件夹,但email_folders
到目前为止,我已经有了基本的计数。
这是我目前拥有的...
SELECT
ef.name,
(SELECT count(id) FROM email_messages WHERE id_folder=ef.id AND date_read<date) AS unread,
(SELECT count(id) FROM email_messages WHERE id_folder=ef.id) AS total
FROM email_messages AS em
LEFT JOIN email_folders AS ef ON ef.id=em.id_folder;
虽然返回了一百多行,但目前有四个文件夹,所以我知道我做错了什么。我很乐意做出任何必要的澄清。