ruby on rail数据库查询
来源:互联网 发布:中国家庭暴力数据 编辑:程序博客网 时间:2024/05/16 13:57
闲来无事,结合以前的代码,总结了ruby on rails的查询方法,方便自己以后查看,也方便后来人,如下,欢迎批评指正
- 1::simpleDB
- modules = find(:all, :conditions => ["site_id != '' and next_crawl < ? and next_crawl is not null and next_crawl != 'nil' and active='#{active}' and (in_queue is null or in_queue='nil' or in_queue='false')", Time.now],:order=>"next_crawl")
- modules = Module.find(:all, :conditions => [" next_snapshot is not null and next_snapshot!='nil' and next_snapshot < ? and priority= ? and ready_for_queue = ? and uri not like 'http://weibo.com%'", Time.now, priority,true], :order=>"next_snapshot",:limit => limit)
- modules = Module.select(:all, :conditions => ["date > ?", "#{(current-20.day).strftime('%Y-%m-%d')}"], :order => 'date desc')
- modules = Module.find(post_id,:params => {:topic_id => topic_id})
- 2::Mysql
- Mysql使用find 进行查询
- module = Module.find("id") Mysql默认 使用id 查询,直接find 即可
- modules = Module.find(:all, :conditions=>['brand_id = ? and charged >?',@brand_id, 1.months.ago]).uniq 根据条件 查询所有,去重复
- module = Module.find(:first,:conditions=>["member_id = ? and id = ?",session[:user_id],params[:job_id]])
- module = Module.find(:all,:conditions=>["id in (?)",job_ids]) in job_ids 查询
- module = Module.find(:all, :conditions=>['col_name = ?',col_val], :order=>"created_at") 按照某个字段order
- Module.find(:all, :conditions => ['member_id = ?', @member.id]).map{|view| view.ft_id} 返回数据,值为ft_id的值
- modules = Module.find(:all, :limit => limit_no, :where => ["id = '#{id}' and date <= '#{date}'"], :order => [:created_at, :desc]) 排序 等等
- modules = Module.find(:all, :conditions=>['updated_at > ?', Time.now-20.minute],:order => 'id desc')
- modules = Module.find(:all, :joins => [:join_col], :conditions =>['m_id = ?',m_id] )
- modules = Module.find(:all,:conditions=>["date > ? and site = 'http://s.weibo.com' and keyword != ''",total_day.day.ago],:order=>["keyword asc","date desc"])
- MemberSite.find(:all,:conditions=>["member_id = ?", @member.id]).group_by{|ms| ms.m_id} 内置方法之排序:group_by() 按照m_id 排序
- Module.find(:first, :conditions=>['survey_id = ? and name = ?', survey_id, 'STORY'], :select=>'question_id') 什么意思
- module = Module.find(:first, :order => "create_date, attending DESC")
- Mysql使用类似于jdbc的查询
- results = ActiveRecord::Base.connection_pool.with_connection do |connection|
- id = connection.quote(cuser_id)
- start_at = Date.parse(start_time).to_time.to_i * 1000
- end_at = Date.parse(end_time).to_time.end_of_day.to_i * 1000
- sql = " select count(*) as num from user_follower where cuser_id = #{id} and user_verified_type != -1 and followed_at >= #{start_at} and followed_at <= #{end_at} "
- connection.execute(sql)
- end
- result = ActiveRecord::Base.connection_pool.with_connection do |connection|
- sql = "select count(user_id) as user_id_count from user_follower where cuser_id = '#{cuser_id}'"
- connection.execute(sql)
- end
- @saved_followers_count = result.first[0] || 0
- results = ActiveRecord::Base.connection_pool.with_connection do |connection|
- id = connection.quote(cuser_id)
- sql = " select year, month, day, post_type, count(*) as num , group_concat(concat(post_id,':',topic_id) SEPARATOR ',' ) as ids "+
- " from posts_group_by_type_date_time where cuser_id = #{id} and " + generate_date_sql(startTime, endTime) + " group by year,month,day,post_type "
- connection.execute(sql)
- end
- 把结果当做array返回 to_a
- if(results.count == 0)
- return []
- else
- return results.to_a
- end
- mysql 使用where查询
- Scope.where({:col => "XXX"}) 最简单的where查询
- @industries = Scope.where({:module_type => "industry"}).map{|scope| scope.scope} 上面有介绍
- @scope = Scope.where({:scope => params["scope"]}).first 返回第一个值
- Threads.where("scope = ? and period = ?", m.id, period).count 根据条件查询,然后count
- Analytics.where({:scope => m.id,:topic => 'all', :site_id=>'all', :date => start_time...end_time}).sum("posts") 另外一种赋值方式
- Threads.where("scope = ? and topic like ? and period = ?", scope, "%#{topic}%", period).limit(50) limit查询
转载至:http://blog.csdn.net/cloudcraft/article/details/9343089
0 0
- ruby on rail数据库查询
- Ruby on Rail 连接mysql数据库的问题和解决方法
- Ruby on Rail学习开始
- Ruby on rail的yaml需求库
- Ubuntu搭建Ruby On Rail环境
- Ruby on Rail环境搭建Ubuntu 14.04
- Ruby on Rail gettext模块undefined method `file_exists?' 问题解决方法
- Ruby on Rail gettext模块undefined method `file_exists?' 问题解决方法
- centos系统ruby on rail安装与配置
- 开源Web框架PHP与Ruby on Rail的比较
- 开源Web框架PHP与Ruby on Rail对决
- iOS 的用户认证:使用Swift和Ruby on Rail
- ruby on rails 的数据库查询方法
- ruby on rails 的数据库查询方法
- vim on rail
- Ruby on Rails 查询数据库 where 和 find 的区别
- ruby on rails爬坑(二):Active Record数据库查询
- Ruby On Rails--Active Record Query Interface(数据库查询)
- python shutil
- 面向对象分析与设计 OOA&OOD
- 在Windows下搭建Android开发环境
- Binary Tree Maximum Path Sum
- 比较淡雅美观的box-shadow 配置
- ruby on rail数据库查询
- 使用rdtsc测试程序的运行速度
- test
- 结构型模式之组合模式(composite)
- 嵌入式 ubuntu下时区设置相关文件或方法
- svn分支和合并实战(图解)
- 申请聊天室开站必备五大条件
- Linux下安装nmap、sqlmap、metasploit
- 将某个路径的文本文件批量复制并更改其中的一些内容