【发布时间】:2010-12-27 11:47:06
【问题描述】:
我的数据库中有库存数量信息。
1 个表,“stock”,包含 productid (sku) 以及数量和来自哪里的文件名。
另一个表“stockfile”包含所有已处理的文件名以及日期。
现在我需要获取所有产品的最新库存数量值。
这会多次提供所有产品及其所有库存数量(产生 300.000 条记录)
选择 stock.stockid、stock.sku、stock.quantity、stockfile.filename、stockfile.date
现货
在 stock.stockfileid = stockfile.stockfileid
上内部连接库存文件 通过stock.skuASC 订购
我已经试过了:
从库存中选择 *
在 stock.stockfileid = stockfile.stockfileid
上内部连接库存文件 按 sku 分组
拥有 stockfile.date = MAX(stockfile.date)
由stock.skuASC 订购
但是没有用
显示创建表库存:
创建表
stock(stockidbigint(20) NOT NULL AUTO_INCREMENT,skuchar(25) NOT NULL,quantityint(5) NOT NULL,creationdatedatetime NOT NULL,stockfileidsmallint(5) unsigned NOT NULL,touchdatedatetime NOT NULL,
主键 (stockid)
) ENGINE=MyISAM AUTO_INCREMENT=315169 默认字符集=latin1
显示创建表库存文件:
CREATE TABLE
stockfile(stockfileidsmallint(5) unsigned NOT NULL AUTO_INCREMENT,filenamevarchar(25) NOT NULL,creationdatedatetime DEFAULT NULL,touchdatedatetime 默认为 NULL,datedatetime 默认为 NULL,begindatedatetime 默认为 NULL,enddatedatetime 默认为 NULL,
主键 (stockfileid)
) ENGINE=MyISAM AUTO_INCREMENT=265 默认字符集=latin1
【问题讨论】:
-
请使用
SHOW CREATE TABLE stock和SHOW CREATE TABLE stockfile的输出编辑您的问题。
标签: sql mysql join greatest-n-per-group