2015-10-20 100 views
-2

我有一张桌子,我想要显示cakenamecakeid,最大为price/slice。什么是最简单的方法来做到这一点?Sql Max()问题

enter image description here

+0

你试过了什么? –

+0

两栏均为价格/切片整数型? –

+0

是否要选择最大*价格*或最大*切片*或每片最大*价格*? –

回答

2

如果你只是想通过降如下

select 
    cakeid, 
    cakename, 
    -- slices, 
    -- status, 
    -- price, 
    price/slices as price_per_slice 
    from table1 
    order by (price/slices) desc limit 1; 

如果你想把所有的条目显示具有最高价/片,然后使用子查询订单后,以印刷具有最高价/片使用限制条款只是一个入口如下

select 
    cakeid, 
    cakename, 
    -- slices, 
    -- status, 
    -- price, 
    price/slices as price_per_slice 
    from table1 where (price/slices) = (select max(price/slices) from table1); 
-1

试试这个:

SELECT cakename, 
     cakeid, 
     MAX(price) AS [MaxPrice] 
FROM CakeTable 
GROUP BY cakename,cakeid 

希望它能帮助。

0

我想你需要这个。

SELECT cakename, 
     cakeid, 
     (price/slice) as col1 
FROM CakeTable order by col1 desc 

通过这样做,你会得到cakeid,cakename和价格/片by子句中的降序排列

-1

用组:

SELECT CakeName, 
    CakeID, 
    MAX(Price) 
FROM CakeTable 
Group by Price,CakeID,CakeName 
+0

为什么在GROUP BY价格结合MAX(价格)? – jarlh

0
SELECT cakename, 
     cakeid, 
     price, 
     slice 
FROM  CakeTable 
ORDER BY price/slice DESC 

认为这会工作,所以你只显示重要的。您可以通过用ASC替换DESC来更改 订单。

希望这个工程。