我試圖使用存儲過程從庫存表中找到前10個有利可圖的產品並將其打印出來。庫存表包含成本價格和銷售價格,我需要從銷售價格中扣除成本價格,並使用計算出的答案對排名前十的有利可圖的產品進行分類和打印。創建存儲過程並打印前10條目
我該怎麼做?
我試圖使用存儲過程從庫存表中找到前10個有利可圖的產品並將其打印出來。庫存表包含成本價格和銷售價格,我需要從銷售價格中扣除成本價格,並使用計算出的答案對排名前十的有利可圖的產品進行分類和打印。創建存儲過程並打印前10條目
我該怎麼做?
MSSQL : SELECT TOP 10 * column FROM table;
MySQL/PostgreSQL/Sqlite : SELECT column FROM table LIMIT 10;
Oracle : SELECT column FROM table WHERE ROWNUM <= 10;
Sybase : SET rowcount 10;SELECT column FROM table;
DB2 : SELECT column FROM table FETCH FIRST 10 ROWS ONLY;
Informix : SELECT FIRST 10 * FROM table;
我怎樣才能根據計算出來的欄目來選擇前10名?或者更確切地說是售價 - 成本價格? – user4725989
不錯的工作!較新的Oracle版本也支持ANSI SQL的FETCH FIRST! – jarlh
另外,如果你有'TOP 10',你應該總是**也有'ORDER BY' - 否則你的'TOP'條款是毫無意義的 - –
MS SQL - 我希望它可以工作。它將顯示前10個利潤產品。您可以在過程中添加此查詢,然後在需要的地方調用過程。
SELECT Top 10 * FROM
(
SELECT (sellingprice-costprice) AS difference
FROM inventory
) difference_data
ORDER BY difference Desc
您正在使用哪種dbms產品? (這兩個存儲過程和前10名往往不符合ANSI SQL ...) – jarlh
即時通訊使用ms sql server 2012 – user4725989
是的,mssql是前10名,而且mysql是數量限制10. – HelloNewWorld