假设有两个表,一个是日期表(date_table),一个是外键表(foreign_key_table),外键表中包含外键id和日期id。
解决方法如下:
CREATE TABLE date_table (
date_id INT PRIMARY KEY,
date DATE
);
CREATE TABLE foreign_key_table (
foreign_key_id INT PRIMARY KEY,
date_id INT,
FOREIGN KEY (date_id) REFERENCES date_table(date_id)
);
INSERT INTO date_table (date_id, date) VALUES
(1, '2022-01-01'),
(2, '2022-01-02'),
(3, '2022-01-03');
INSERT INTO foreign_key_table (foreign_key_id, date_id) VALUES
(1, 1),
(2, 1),
(3, 2),
(4, 2),
(5, 3);
SELECT date_table.date, COUNT(foreign_key_table.foreign_key_id) AS count
FROM date_table
JOIN foreign_key_table ON date_table.date_id = foreign_key_table.date_id
GROUP BY date_table.date, foreign_key_table.foreign_key_id;
以上代码示例中,通过JOIN将日期表和外键表连接,然后使用GROUP BY对日期和外键id进行分组,最后使用COUNT函数计算每组中外键id的数量。