我有下表:
CREATE TABLE fruits (
id INT PRIMARY KEY,
fruit_name VARCHAR,
purchase_date DATE
);
以下为表格中的数据:
+------------------+
| Results Table 1a |
+----+------------+---------------+
| id | fruit_name | purchase_date |
+----+------------+---------------+
| 1 | apple | 2021-02-02 |
| 2 | pear | 2021-02-02 |
| 3 | orange | 2021-02-02 |
| 4 | apple | 2021-02-02 |
| 5 | grapes | 2021-02-04 |
| 6 | grapes | 2021-02-05 |
+----+------------+---------------+
如何创建一条不仅返回表内容的SELECT
语句,如下所示:
SELECT *
FROM fruits;
但也给了我一个额外的专栏,告诉我how many purchases were made the same date.我想要一个如下所示的结果表:
+------------------+
| Results Table 1b |
+----+------------+---------------+--------------------+
| id | fruit_name | purchase_date | same_day_purchases |
+----+------------+---------------+--------------------+
| 1 | apple | 2021-02-02 | 4 |
| 2 | pear | 2021-02-02 | 4 |
| 3 | orange | 2021-02-02 | 4 |
| 4 | apple | 2021-02-02 | 4 |
| 5 | grapes | 2021-02-04 | 1 |
| 6 | grapes | 2021-02-05 | 1 |
+----+------------+---------------+--------------------+
例如:在2021-02-02
天有4笔购买,所以对于那一天的每purchase_date
笔交易,same_day_purchases
应该是4笔.
我可以使用GROUP BY
创建单独的语句:
SELECT purchase_date, COUNT(*) AS same_date_purchases
FROM fruits
GROUP BY purchase_date;
但我正在寻找一种方法来声明启用Results Table 1b
的结果表.