问题1:分组求和——union连接各次结果——排序

解决方案 »

  1.   

    谁能给我个地址:下载mysql数据库啊!谢谢
      

  2.   

    to Cain 我应该下载哪个?Windows downloads (platform notes)Windows Essentials (x86)             5.0.15    17.0M 
    Windows (x86)                        5.0.15    33.7M 
    Without installer (unzip in C:\)     5.0.15    35.2M 
      

  3.   

    呵呵,我来瞎说下:首先,考虑表结构:很简单,3张表:产品表,客户表,租赁记录表1 chanpintab产品表
    chanpinID(PK), chanpin产品名称
    2 kehutab客户表
    kehuID(PK), name客户名称
    3 jilutab租赁记录表
    id(PK),kehuID(FK),chanpinID(FK),
    startdate(起租时间),stopdate(终租时间),money(租金)2005年11月共收取租金xxx元,其中产品chanpin1共xxx元,产品chanpin2共xxx元……select chanpin, sum(money) from jilutab as a, chanpintab as b where a.chanpinID=b.chanpinID and a.startdate>='2005-11-01' and a.startdate<'2005-12-01' group by a.chanpinID;
    其中11月份总租金可以通过程序求和得到
    客户name1共xxx元,其中租用chanpin1产品xxx次,共xxx元;租用chanpin2产品xxx次,共xxx元……
    客户name2共xxx元,………………………………………………;
    客户name3…………………………………………………………;
    ……………………………………………………………………;这个也是11月份的吧?暂时当作是吧。
    select name, chanpin, sum(money) from jilutab as a, kehutab as b, chanpintab as c where a.kehuID=b.kehuID and a.chanpinID=c.chanpinID and a.startdate>='2005-11-01' and a.startdate<'2005-12-01' group by a.chanpinID,a.kehuID order by a.kehuID;
    每一个客户付出的总租金通过他分别在各个产品上的租金求和得到,组合数据等工作放在程序里完成,这样可以减少数据库查询量
      

  4.   

    第一个问题就是按照客户+产品排序,根据年月日条件一次读取完资料,再通过mysql_fetch_array+mysql_data_seek来实现。
    问题二、楼主表设计有点值得商榷。
    我的意见是:表1、租用明细;表2、客户资料;表3、商品资料
    即便同一个客户某天租借很多不同商品的话,也只需要做个页面,SHOW出按照某个类别存在的商品(或者全部商品)进行勾选,后台自动去抓取单价,存入表1,表1的需要同时存在单价及价格栏位。单价记录当时借的那个物品的价格(因为物品的价格是会变动的),价格是记录当时借的那个东西单价*个数(可选)。
      

  5.   

    关于第二个问题,如果把租金按时间单位定价的话,就会更方便,不过那样涉及的问题会多很多(时间片大小的选择,不足单位时间的如何计算,不同时段定价不等时的计算等,比较麻烦呵呵)
    如果每次录入的话,那就在页面用js做个效果吧(如 多选产品,然后后面出现租金租期输入框)数据插入时好办,insert into jilutab (“fields”) value (),(),()
      

  6.   

    看来真是仁者见仁智者见智阿,呵呵,大家考虑的方面都不同,呵呵,不过,感觉楼主有 出题考人的嫌疑哦,感觉这个问题对于楼主来说是小菜吧!
    对于需求分析,信息建模都有经验吧,那要是不会这些就怪了
    最多最多估计不熟悉mysql+php这种小组合,来问下实现细节吧?
      

  7.   

    没想到,csdn也有人挖坑。哈哈
    不错不错
      

  8.   

    to:yh801216
    强调2点:
    1、偶没有挖坑嫌疑哦;
    2、问题纯属我假设的,完全没有实际需求。
    以上只是让大家来讨论一下,创造点气氛嘛,同时学点技术,呵呵……虽然偶早转行不做程序了,但是还是感兴趣的。
      

  9.   

    to 楼主
    呵呵,随便搞笑一下,楼主别介意哈,心情好瞎说的两句:P呵呵,那讨论的就没必要那么细致啦,之前讨论都是假设建模完成后的一些实现细节拉。
    我们还不如来分析分析这道题呢:)比如,大家可以想想这样的需求应该完善到什么程度(在有实际意义的情况下尽量细致全面的考虑:P),可能的业务需要阿,另外,对于mysql这种数据库大概能支持什么样的数据量啊之类的,不过考虑太全了好像就是进销存了哦呵呵。瞎说瞎说。呵呵,另外,问一下各位哈,哪里有目前一些常用功能的应用模型或者描述、分析阿?比如某个应用的核心功能,附属功能,数据库模型,关键问题等的描述和说明阿。
    或者,大大们有这方面的资料的,给看看学学阿:)
      

  10.   

    txt 导入mysql
    list.txtname1,2005年11月2日,2005年12月2日,1200,chanpin1,chanpin2,chanpin3,chanpinn4
    name2,2005年11月2日,2005年12月2日,1200,chanpin1,chanpin2,chanpin3
    =============================================================
    $sql="";
    $lines = file("list.txt");
    foreach($lines as $k => $v)
    {
        $arr_val= explode(",", $v));
        for($i=4;$i<count($arr_val);$i++)
        {
            $sql.="insert into table (name,startdate,stopdate,money,chanpin) values($arr_val[0],$arr_val[1],$arr_val[2],$arr_val[3],$arr_val[$i],);";
        }
    }
    ....
      

  11.   

    答案不是问题,分数拿来先,呵呵。
    现在习惯于永sql server思考了