我需要在列上执行平均值,但我知道该列中的大多数值都将为零.在所有可能的行中,只有两行可能具有正值.如何告诉mySQL忽略零并且仅平均实际值?
我的申请中有父/子关系
class Polling
has_many :alerts, :dependent => :destroy
class Alert
belongs_to :polling
Run Code Online (Sandbox Code Playgroud)
在我的警报索引页面上,我需要显示每个父项的一些数据,这会产生两个查询
Alert Load (6.1ms) SELECT * FROM (SELECT * FROM "ALERTS" INNER JOIN "POLLINGS" ON "POLLINGS"."ID" = "ALERTS"."POLLING_ID" ORDER BY "ALERTS"."ID" DESC) WHERE ROWNUM <= 1
Polling Load (1.8ms) SELECT "POLLINGS".* FROM "POLLINGS" WHERE "POLLINGS"."ID" = 10113 AND ROWNUM <= 1
Run Code Online (Sandbox Code Playgroud)
显然,这会使页面加载时间非常可怕,因为它必须遍历每个页面并拉动父对象.
我尝试过一些东西,比如
> Alert.joins(:polling).where(...)
> Alert.includes(:polling).where(...)
> Alert.joins(:polling).select('*').where(...)
Run Code Online (Sandbox Code Playgroud)
每当我访问索引页面时,每次收到两个不同的查询.每个Alert一个,然后另一个获取其父数据.如何在一行上执行此操作,以便在我提取警报时,我还可以获取其关联的父数据?从另一端似乎没有办法解决这个问题,因为如果我这样做Pollings.where(...),就不会把孩子当成一个群体.
我有一个自定义表单,我用Form API编写.我们在网站上实现了WYSIWYG模块和TinyMCE,将使用该模块.如何在自定义表单文本区域上实现WYSIWYG api?
谢谢!
我试图在我创建的视图上的一组特定的公开过滤器上添加一些样式.
该视图称为user_search,因此我创建了views-exposed-form - user-search.tpl.php并且不起作用(它所做的只是删除了公开的过滤器,但仍然显示了视图).views-exposed-form - user-search - page.tpl.php也得到了相同的结果.
即使它确实有效,我仍然不知道要放在哪里以显示表单,只是为了我可以添加样式或容器div.
print drupal_render($form); 不工作.
我有几个表,我需要从中显示数据.
Schools
-------
id | Title
Programs
--------
id | descr | title | type | school.id
Run Code Online (Sandbox Code Playgroud)
当然,不是最好的设置,但我没有任何关于数据库结构的事情.
我需要创建一个列表,按学校,程序和程序类型分隔.现在,我有一个巨大的嵌套循环(伪代码):
Select * from Schools
For Each School
print $school_header;
Select Program Type from Programs WHERE School.id = $school_id
For Each Program type
print $type_header;
Select * from Programs where School.id = $school_id and type = $program_type
For Each Program
print $program_link;
Run Code Online (Sandbox Code Playgroud)
不用说它一团糟.
最终结果是一个列表:
有没有办法用更少的查询和更少的数据库密集的代码来做到这一点?
drupal-6 ×2
activerecord ×1
average ×1
drupal ×1
drupal-views ×1
join ×1
mysql ×1
nested-loops ×1
null ×1
php ×1
sql ×1
views ×1
while-loop ×1
wysiwyg ×1
zero ×1