• 将字段值作为字段显示


    CREATE TABLE IF NOT EXISTS `user` (
      `userid` int(10) NOT NULL AUTO_INCREMENT,
      `username` varchar(30) NOT NULL,
      `password` varchar(32) NOT NULL,
      PRIMARY KEY (`userid`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
    
    --
    -- 转存表中的数据 `user`
    --
    
    INSERT INTO `user` (`userid`, `username`, `password`) VALUES
    (1, 'zhangsan', 'd10906c3dac1172d4f60bd41f224ae75'),
    (2, 'lisi', 'd10906c3dac1172d4f60bd41f224ae75'),
    (3, 'wangwu', 'd10906c3dac1172d4f60bd41f224ae75'),
    (4, 'zhaoliu', 'd10906c3dac1172d4f60bd41f224ae75');
    

      

    CREATE TABLE IF NOT EXISTS `pay` (
      `payid` int(10) NOT NULL AUTO_INCREMENT,
      `userid` int(10) NOT NULL,
      `payment` int(10) NOT NULL,
      `paytime` date NOT NULL,
      PRIMARY KEY (`payid`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
    
    --
    -- 转存表中的数据 `pay`
    --
    
    INSERT INTO `pay` (`payid`, `userid`, `payment`, `paytime`) VALUES
    (1, 1, 100, '2001-10-12'),
    (2, 1, 105, '2001-11-10'),
    (3, 2, 50, '2001-11-28'),
    (4, 3, 20, '2001-11-28'),
    (5, 1, 10, '2012-11-28'),
    (6, 3, 50, '2012-11-28');
    

     将字段值作为字段显示。 

    select t1.userid,
    sum(case `paytime` when '2001' then payment end) as '2001',
    sum(case `paytime` when '2012' then payment end) as '2012'from
    ( select u.userid,year(p.paytime) paytime ,sum(p.payment) payment from `user` u inner join `pay` p on u.userid = p.userid 
    group by u.userid,year(p.paytime)) t1 group by t1.userid
    

    还有一个类似的结构:

    select memberid,sum(member>10) as gt,sum(number<10) as lt from `order` group by `memberid`;
    

    只是换了sum中的条件,用于统计行数。

    如果感觉不错,请 一个!
    by simpman
  • 相关阅读:
    jekins构建自动化项目的步骤
    CRT 和mysql 中文乱码解决方式
    Jenkins的配置(rpm red hat方式)
    MapReduce job.setNumReduceTasks(0)思考
    浏览器angent分析工具
    npm中的 --save-dev
    computed与methods的异同
    JS函数种类详解
    Vue.js和Nodejs的关系
    AJAX复习笔记
  • 原文地址:https://www.cnblogs.com/simpman/p/3225233.html
Copyright © 2020-2023  润新知