hhhh112121
2015-05-27 06:51
采纳率: 0%
浏览 1.6k

mysl 创建视图然后查询

create view gaojia as select cat_id,goods_id,goods_name,shop_price from goods order by cat_id , shop_price desc;
select * from gaojia group by cat_id;
这样并不能查询出每个cat_id下的最高价商品;
这是ecshop下面的库,如果不创建视图,直接用子查询是能查询出正确结果的,创建视图后就不正确了,诸位谁能帮我分析一下原因;

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • ajyufeng 2015-05-27 06:54

    create view gaojia as select cat_id,goods_id,goods_name,shop_price from goods order by cat_id , shop_price desc;
    select * from gaojia group by cat_id;
    这样并不能查询出每个cat_id下的最高价商品;
    这是ecshop下面的库,如果不创建视图,直接用子查询是能查询出正确结果的,创建视图后就不正确了,诸位谁能帮我分析一下原因;

    点赞 打赏 评论
  • danielinbiti 2015-05-27 07:03

    看一下你是否有访问视图的权限。
    另外,就从这里来看

     select * from gaojia group by cat_id;
     select * from goods  group by cat_id;
     都是有问题的,因为表里面有多个字段
     要找最大价格还是需要
      select max(shop_price ),cat_id from gaojia group by cat_id的方式
    
    点赞 打赏 评论
  • hhhh112121 2015-05-27 07:58

    在创建视图时,如果将cat_id和goods_id换一下位置,就能查询出正确结果,这是什么原因呢,怎么会和字段位置还有关系呢?

    点赞 打赏 评论

相关推荐 更多相似问题