我有以下代码:
SELECT CD_NO, COUNT(purchasedate) AS most_sales
FROM Artist
GROUP BY CD_NO
这将返回每张CD的销售额,因为每次销售CD都有一个购买者条目。但是,我希望从中找出每个CD_NO的销售额最多的日期,而不是显示当天显示most_sales日期的数字。因此,它会根据特定CD转换购买日期的输入,然后对其进行计数并找到特定purchase_date上的最大购买数量。
例如,输入此输入:
CD_NO purchasedate
1 2012-04-04
1 2012-04-04
1 2012-04-03
2 2012-04-03
2 2012-04-03
2 2012-04-03
2 2012-04-02
然后把它变成:
CD_NO most_sales
1 2012-04-04
2 2012-04-03
这是因为它会计算CD_NO的不同日期,然后返回哪个日期最多。
答案 0 :(得分:0)
SELECT CD_NO, COUNT(purchasedate) AS most_sales
INTO [NEW TABLE NAME]
FROM Artist
GROUP BY CD_NO
所有你必须把它放入一个语句中,结果将转到一个基本级别的新表
答案 1 :(得分:0)
SELECT CD_NO, COUNT(purchasedate) AS most_sales
INTO ARTIST_SALES
FROM Artist
GROUP BY CD_NO
这应该有用,它会创建一个名为ARTIST_SALES的表(您可以更改它),您也可以考虑在第二个表中添加艺术家ID,这样您就可以选择每个艺术家的总结销售额。
编辑:
我没有意识到你使用的是mysql,不支持select into,你应该首先创建一个新表,例如
CREATE TABLE Artist_Sales (
CD_NO INT NOT NULL,
SALES_COUNT INT NOT NULL
);
然后执行插入, 例如:
INSERT INTO Artis_Sales (CD_NO,SALES_COUNT)
SELECT CD_NO, COUNT(purchasedate)
FROM Artist
GROUP BY CD_NO
祝你好运
答案 2 :(得分:0)
你能不能这样做:
通过CD_NO从艺术家群组中选择CD_NO,MAX(PURCHASEDATE)