Select CATEGORY, TITLE, RETAIL
From BOOKS
Where RETAIL = (SELECT RETAIL-max(COST) From Books)
ORDER BY Category ASC;
私は何を達成しようとしていることはすべての書籍SQLない単一グループのグループ関数計算
例
MAX COST = $44
Display number of retail items that are LESS than $44
Select CATEGORY, TITLE, RETAIL
From BOOKS
Where RETAIL = (SELECT RETAIL-max(COST) From Books)
ORDER BY Category ASC;
私は何を達成しようとしていることはすべての書籍SQLない単一グループのグループ関数計算
例
MAX COST = $44
Display number of retail items that are LESS than $44
CREATE TABLE TBL_BOOKS_PRICE
(
BOOK VARCHAR(24),
PRICE MONEY
)
GO
INSERT INTO TBL_BOOKS_PRICE
VALUES('BOOK1',33.00)
GO
INSERT INTO TBL_BOOKS_PRICE
VALUES('BOOK1',44.00)
GO
INSERT INTO TBL_BOOKS_PRICE
VALUES('BOOK1',43.00)
GO
INSERT INTO TBL_BOOKS_PRICE
VALUES('BOOK1',38.00)
GO
SELECT BOOK,PRICE FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY PRICE DESC) ID,* FROM TBL_BOOKS_PRICE
) A
WHERE ID<>1;
'GO'は、Oracle(または標準SQL)の無効なステートメントで、適切なステートメント終端文字で置き換えることができます:'; 'これを有効にするSQL –
' MONEY'はOracleのデータ型ではありません。それとは別に、あなたの質問は非効率的です。サブクエリ内のすべての行を順序付けします。最大値のみが必要な場合です。セットの最大値を見つけることは、セット全体をオーダーすることよりはるかに少ない仕事です。 – mathguy
これを試してみてください。..
with tmp as (
select category, title, retail, max(cost) as retail_max_cost
from books group by category, title, retail)
select category, title, retail from tmp
where retail < retail_max_cost order by category;
'セレクトCATEGORY、TI TLE、小売 書籍BOOKS リテール<(書籍からMAX(COST)を選択) ORDER BYカテゴリASC; ' –
MySQLの返品Oracleエラーコード?確かに正しいタグがありますか? – jarlh
@FelixPamittan - 答え、コメントではありません。それはまた、これまでに提供された最高の答えであることも起こります。あなたはそれをコメントから答えに変えることを検討したいかもしれません。 – mathguy