我收到一个错误消息,表明关键字“ DESC”附近的语法不正确。
SELECT S.NAME, SUM([QTY] * [PRICE]) AS SALES
FROM Invoices$ Inv INNER JOIN InvDetails$ InvD ON
Inv.INVOICE_ID=InvD.INVOICE_ID
INNER JOIN Products$ P ON InvD.PRODUCT_ID=P.PRODUCT_ID
INNER JOIN Stores$ S ON S.STORE_ID=Inv.STORE_ID
GROUP BY SALES DESC
预期结果是按细分顺序打印所有商店及其销售额,按总销售额(SALES)排序
答案 0 :(得分:3)
您的意思是GROUP BY S.NAME
,而不是SALES
。
另外,GROUP BY
并不关心顺序,因此将DESC
移到ORDER BY
之后。您不能将GROUP BY
和ORDER BY
合并为一个子句。
GROUP BY S.NAME
ORDER BY SALES DESC;
答案 1 :(得分:1)
您的查询应如下所示:
string
在MySQL中, CurrentSaleItem.SaleDate
被用作SELECT S.NAME, SUM([QTY] * [PRICE]) AS SALES
FROM Invoices$ Inv INNER JOIN
InvDetails$ InvD
ON Inv.INVOICE_ID = InvD.INVOICE_ID INNER JOIN
Products$ P
ON InvD.PRODUCT_ID = P.PRODUCT_ID INNER JOIN
Stores$ S
ON S.STORE_ID = Inv.STORE_ID
GROUP BY S.NAME
ORDER BY SALES DESC;
的关键字(尽管我认为v8中已弃用了该用法)。但是,这是其他数据库未使用的扩展。
无论如何,DESC
应该包含GROUP BY
中所有未聚合的键。那将是GROUP BY
,而不是SELECT
。
答案 2 :(得分:0)
您需要在name
的{{1}}列中添加
group by