我想顯示銷售額最高的員工
我用一個子查詢來計算每個員工的銷售額,并顯示頂部的,然后用它來顯示該員工的資訊
SELECT
TOP 1 staff_id,
COUNT(*)
AS sales
FROM orders
GROUP BY staff_id
ORDER BY sales DESC
它表明 ID=6 的員工的銷售額最高,但將其作為子查詢傳遞時:
SELECT *
FROM staffs
WHERE (staff_id =
((select top 1 staff_id, count(*) as sales from orders group by staff_id order by sales desc )))
我得到以下錯誤:**當子查詢未引入存在時,只能在選擇中指定一個運算式**
uj5u.com熱心網友回復:
請嘗試以下查詢。
這將回傳一個運算式,錯誤告訴您這是預期的:
SELECT *
FROM staffs
WHERE staff_id in (
SELECT TOP (1) staff_id
FROM orders
GROUP BY staff_id
ORDER BY count(*) DESC
);
您可能還想查看with_ties
用于處理重復計數的子句。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/537431.html
標籤:数据库