我有兩個大表,產品(500k記錄)和store_products(> 3mm記錄)。產品是主產品,product_stores是產品的個別位置。mySQL使用另一個表中的COUNT/MIN/MAX嵌套更新
我需要從product_stores運行一個QUERY總計信息並更新相應的產品。
當,這是我們與嵌套查詢做的更小的數據集:
SELECT productid,COUNT(id) as count,MIN(price) as lowprice,MAX(price) as highprice FROM store_products
WHILE (productid){ update product set stores = count, min = lowprice, max = highprice WHERE productid = $productid }
GROUP BY productid
我是相當新的嵌套的更新和不確定如何設置由聯接和組多個領域。
結構[截斷爲相關領域]:
CREATE TABLE product (
product_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
stores INT UNSIGNED NOT NULL DEFAULT '0',
lowprice DECIMAL (6,2) NOT NULL DEFAULT '000.00',
highprice DECIMAL (6,2) NOT NULL DEFAULT '000.00',
PRIMARY KEY (product_id),
KEY stores (stores)
)
CREATE TABLE store_product (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
product_id INT UNSIGNED NOT NULL,
price DECIMAL(7,2) NOT NULL DEFAULT '0.00',
PRIMARY KEY (storeproduct_id),
KEY product_id (product_id)
);
字段更新:
- 店
- 分鐘價格[由產品ID store_product記錄計數] [MIN價格,按ProductID的]
- 最高價[產品價格的最大]
[這裏是一個例子](http://stackoverflow.com/questions/7335189/update-with-inner-join-or-min/7338783#7338783)如何使用UPDATE進行連接。 –