给个提示: group by, order by desc, top 1

解决方案 »

  1.   

    给个提示: group by, order by desc, top 1
    up
      

  2.   

    用union命令
    select * from 2004 
    union select * from 2005
    union select * from 2006
      

  3.   

    为方便各位大侠给偶指路,我先把我能想到的思路说一下.我现在思路有三:
    一:设计一个公司基本表(company),把公司不变的基本信息和id存到这张表里.
       设计一个公司高级信息表(company_info).把可能变化的高级信息放到这张表里.这张表里有年度字段(year).和公 司id字段以便同前一张表的公司联系起来.以及其他的该公司信息.
    查询的时候通过select top 1 * from company_info group by id order by year desc查出公司信息.二:设计一个公司基本表(company),把公司不变的基本信息和id存到这张表里.
       按公司高级信息的字段分别设计表.也就是说每个字段对应一张表.把信息字段和年度字段(year)放在这张表里.
    查询的时候通过组合查询生成视图.来达到目的.
    三:设计一个公司基本表(company),把公司不变的基本信息和id存到这张表里.
       按年度设计高级信息表.也就是说每一个年度对应一张高级信息表.
    查询的时候通过
    select * from 2004 
    union select * from 2005
    union select * from 2006
    来达到目的.以上只是我的一些思路.正确性还没有得到验证.请各位高人给我个提示.究竟哪种方法是比较常用,比较合理的方法.或者是这些方法都不合理.你有更好的解决方法.在线等......
      

  4.   

    问题是我刚刚测试了一下.我第一种方式中采用的查询语句有语法错误啊.也就是说不能这么查询,select top 1 * from company_info group by id order by year desc
    那应该怎么查呢?
      

  5.   

    哦,错了.应该是select top 1 * from company_info order by year desc where id=x
    但是这样只能查处某一年的数据.也不能达到我需要的,比如06年的这项数据没有就查询05年的数据啊/
      

  6.   

    group by year order by year desc
      

  7.   

    你上面的加上where id=x就限制死了读取某一条数据了。
    去掉……