SQL 格式 $ 和四舍五入

SQL Format $ and Rounding

我正在尝试显示书名、ISBN、成本和类别,其中该类别中的书籍数量最少,同时还尝试在成本输出前添加一个“$”,同时尝试四舍五入到小数点后两位。

类别示例 =

Technology = 4
Family = 3
Sports = 2
Business = 4

在这种情况下,我希望输出显示类别 Sports

Select TITLE, ISBN,
Round( '$' + CAST(COST AS VARCHAR(15)) COST, 2),
 CATEGORY
From BOOKS
GROUP By category
HAVING Category = ((Select Min(Category)
From (Select Count(Category) AS Category)
From BOOKS
Group By Category)
;

Oracle 使用 || 进行字符串连接。要获得具有最小计数的类别,您可以使用内联视图,一个获取计数,另一个获取最小计数,join 与原始 table.

select b.TITLE, b.ISBN,
'$' || TO_CHAR(ROUND(b.COST,2)) cost, b.CATEGORY
From BOOKS b
join (select category,count(*) cnt from books group by category) ct
on b.category = ct.category
join (select min(cnt) mincnt 
      from (select count(*) cnt from books group by category)) minct
on ct.cnt = minct.mincnt