加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

自己的mysql语句积累

(2012-01-04 16:05:22)
标签:

mysql

语句

积累

it

分类: mysql那些事
一、这个问题是在一个订单表里面 有用户的ID user_id 字段  和这个订单多少钱 money字段 如果要统计用       户的相同user_id的用户花了多少钱 并且统计出来要钱的总数来排序(最多的在最上边)。
   SELECT `user_id` , SUM( money ) AS `totalmoney`
   FROM `order`
   WHERE `state` = 'pay'
   GROUP BY `user_id`
   HAVING `totalmoney` >2000
   ORDER BY `totalmoney` DESC
   LIMIT 0 , 30
   选出来的结果:
   6186 9552.00 
   65571 7164.00
   52240 6320.00 
   5869 5674.00 
   3055 4556.00 
   2306 3498.00 
   65578 3184.00 
   52029 2940.00 
   62502 2592.00 
二,实现mysql的随即取数据
    SELECT 
    FROM `table` AS t1 JOIN (SELECT ROUND(RAND() ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id)     FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2 
    WHERE t1.id >= t2.id 
    ORDER BY t1.id LIMIT 1; 
三 取出参加某活动的用户名 手机号(huo)
    SELECT u.username, u.realname, u.mobile
    FROM `user` u, `order` o
    WHERE o.team_id =2901
    AND o.user_id = u.id
    LIMIT 0 , 30
    该语句和select username,realname,mobile from `user` 
    where id in(select user_id from `order` where team_id=2901);
四  * 计算当天起始点和结束点时间戳 取当天的数据(或者使用FROM_UNIXTIME那个函数)
    $year = date("Y");
    $month = date("m");
    $day = date("d");
    $dayBegin = mktime(0,0,0,$month,$day,$year);//当天开始时间戳
    $dayEnd = mktime(23,59,59,$month,$day,$year);//当天结束时间戳
    $query = "SELECT * FROM `fanli_info` WHERE insert_time<$dayEnd AND insert_time>$dayBegin";
    

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有