我这里有两个MYSQl 表:表1: 存放的是商品信息,字段如下:商品ID、商品名字、商品规格 、商品产地
good_id////good_name////good_guige///good_chandi
1 -------- 白菜 ------统货 --------- 山东
2 ---------芹菜 ----- 统货 ----------河北
5 ---------胡萝卜 ----统货 ----------河北...
...
...
表2:存放的是商品的价格信息,每种商品每个月都有不同的价格,字段如下:所属商品ID、商品价格、添加时间good_item_id....good_jiage....add_time
1 -------------3.33 ------2001-1-1
1 ------------ 4.33 ------ 2001-2-1
1 ----------- 5.33 ------- 2001-3-1
1 ---------- 6.33 ------- 2001-4-1
1 --------- 7.33 ---------2001-5-1
1 --------- 8.33 -------- 2001-6-1
2 -------------3.33 ------2001-1-1
2 ------------ 4.33 ------ 2001-2-1
2 ----------- 5.33 ------- 2001-3-1
2 ---------- 6.33 ------- 2001-4-1
2 --------- 7.33 ---------2001-5-1
2 --------- 8.33 -------- 2001-6-1
5 -------------3.33 ------2001-1-1
5 ------------ 4.33 ------ 2001-2-1
5 ----------- 5.33 ------- 2001-3-1
5 ---------- 6.33 ------- 2001-4-1
5 --------- 7.33 ---------2001-5-1
5 --------- 8.33 -------- 2001-6-1两个表中 good_id 、good_item_id 两个字段是关联字段我打算实现这样的查询效果:蔬菜列表:
------------------------------
菜名-----规格---- 产地 ---- 最新价格白菜-----统货 -----山东-----8.33
芹菜 .... ................ 7.77
胡萝卜 .... ............. ....在PHP中操作好像要多表联合查询,还有朋友告诉我做个视图也行,我是PHP新手,单表查询还可以,这个弄不来,求各位出个主意。我得难点在于,蔬菜品种太多了,价格也太多了(近5年的价格统计,表2数据过万),如何查询效率较高?并且,查询结果只显示 蔬菜的当月最新价格!
good_id////good_name////good_guige///good_chandi
1 -------- 白菜 ------统货 --------- 山东
2 ---------芹菜 ----- 统货 ----------河北
5 ---------胡萝卜 ----统货 ----------河北...
...
...
表2:存放的是商品的价格信息,每种商品每个月都有不同的价格,字段如下:所属商品ID、商品价格、添加时间good_item_id....good_jiage....add_time
1 -------------3.33 ------2001-1-1
1 ------------ 4.33 ------ 2001-2-1
1 ----------- 5.33 ------- 2001-3-1
1 ---------- 6.33 ------- 2001-4-1
1 --------- 7.33 ---------2001-5-1
1 --------- 8.33 -------- 2001-6-1
2 -------------3.33 ------2001-1-1
2 ------------ 4.33 ------ 2001-2-1
2 ----------- 5.33 ------- 2001-3-1
2 ---------- 6.33 ------- 2001-4-1
2 --------- 7.33 ---------2001-5-1
2 --------- 8.33 -------- 2001-6-1
5 -------------3.33 ------2001-1-1
5 ------------ 4.33 ------ 2001-2-1
5 ----------- 5.33 ------- 2001-3-1
5 ---------- 6.33 ------- 2001-4-1
5 --------- 7.33 ---------2001-5-1
5 --------- 8.33 -------- 2001-6-1两个表中 good_id 、good_item_id 两个字段是关联字段我打算实现这样的查询效果:蔬菜列表:
------------------------------
菜名-----规格---- 产地 ---- 最新价格白菜-----统货 -----山东-----8.33
芹菜 .... ................ 7.77
胡萝卜 .... ............. ....在PHP中操作好像要多表联合查询,还有朋友告诉我做个视图也行,我是PHP新手,单表查询还可以,这个弄不来,求各位出个主意。我得难点在于,蔬菜品种太多了,价格也太多了(近5年的价格统计,表2数据过万),如何查询效率较高?并且,查询结果只显示 蔬菜的当月最新价格!
[征集]分组取最大N条记录方法征集,及散分....
-> yc_chandi as `产地`,
-> yc_guige as `规格`,
-> yc_jiage as `最新价格`
-> from yc_pinzhong a ,yc_jiage b
-> where a.yc_id=b.yc_item_id
-> and not exists (select 1 from yc_jiage where yc_item_id=b.yc_item_id and add_date>b.add_date);
+-------+------+------+----------+
| 名称 | 产地 | 规格 | 最新价格 |
+-------+------+------+----------+
| 白菜 | 安徽 | 统货 | 8.50 |
+-------+------+------+----------+
1 row in set (0.07 sec)mysql>
create index xxxx on yc_jiage (yc_item_id,add_date)