2014-09-11 108 views
-1

我有销售数据的表....这里是简化版本:ORDER BY和GROUP BY在一起吗?

TABLE“销售”

sale_no PRIMARY KEY, INT 
sku  INT (Any integer between 1-200000, is NOT unique in this table) 
is_shipped ENUM('n','y') 'n' = NO, 'y' = YES 

,我需要选择未发货(is_shipped所有销售=“N” )并在给定的网页上显示与SAME sku的销售情况。像这样的东西....?

SELECT * FROM sales 
WHERE is_shipped = 'n' 
GROUP BY sku (??) 
ORDER BY sku 

上述查询需要修改,以便只有具有相同SKU的销售按照SKU的顺序返回。例如,我需要在给定页面上显示sku = 40的所有未发货的销售额,并遍历所有SKU ....任何帮助都将不胜感激!

+2

'WHERE is_shipped = 'N' 和SKU = 40' – 2014-09-11 05:32:25

+1

生成特定页面时,您是否知道要呈现的SKU? – Mureinik 2014-09-11 05:32:29

+0

不.. sku不知道....当销售被标记出货时,页面遍历每个sku。因此,查询需要为最小的SKU提取所有未发货的订单... – Nikster2014 2014-09-11 05:34:00

回答

2

为什么你订购和group by, 如果你想从分钟SKU值最大的SKU值不仅仅是为了所有记录您的查询

SELECT * FROM sales 
WHERE is_shipped = 'n' 
order by sku Asc 
+0

你试过了你的查询吗?它显示列表从最小到最大? – 2014-09-11 05:45:52

+0

它显示的是现在更正的最大值到最小值 – 2014-09-11 05:49:10

+0

这不是我的意思!我需要一次只显示一个sku ...所有包含该网页上的sku的销售。然后,用户将所有这些销售标记为已发货...页面将重新加载与同一SKU的新销售组将显示....这次是更高的SKU .... – Nikster2014 2014-09-11 07:08:56