问题列表 - 第47095页

ActiveRecord Count计算Rails中group by返回的行数

我环顾四周,找不到任何答案.涉及的所有答案都没有使用GROUP BY.

背景: 我有一个paginator,它将为ActiveRecord.find提供选项.它添加了:limit和:offset选项并执行查询.我还需要做的是计算记录总数(减去限制),但有时查询包含:group选项,ActiveRecord.count尝试返回GROUP BY返回的所有行及其每个计数.我在Rails 2.3.5中这样做.

我想要的是ActiveRecord.count返回GROUP BY返回的行数.

下面是一些示例代码,用于演示此实例(用于查找所有标记并按照标记的帖子数量排序):

options = { :select => 'tags.*, COUNT(*) AS post_count',
            :joins => 'INNER JOIN posts_tags',   #Join table for 'posts' and 'tags'
            :group => 'tags.id',
            :order => 'post_count DESC' }

@count = Tag.count(options)

options = options.merge { :offset => (page - 1) * per_page, :limit => per_page }

@items = Tag.find(options)
Run Code Online (Sandbox Code Playgroud)

使用:select选项,Tag.count生成以下SQL:

SELECT count(tags.*, COUNT(*) AS post_count) AS count_tags_all_count_all_as_post_count, tags.id AS tags_id FROM `tags`  INNER JOIN posts_tags  GROUP BY tags.id  ORDER …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails ruby-on-rails-2

19
推荐指数
3
解决办法
3万
查看次数

二维列表的平均值

基本上,该函数应该提供列表中列表的平均值.例:

lst = [[46, 27, 68], [26, 65, 80], [98, 56, 35], [98, 65, 0]]
average(lst)
>>> [47.0, 57.0, 63.0, 54.33333333333333]
Run Code Online (Sandbox Code Playgroud)

我的代码:

def average(l):
    for i in range(len(l)):
        for j in range(len(l[0])):
            l[i] / l[j]
    return l
Run Code Online (Sandbox Code Playgroud)

我的编码显示一个错误标志,上面写着"TypeError:/ support'和'list'"不支持的操作数类型.我不知道我做错了什么.

python

0
推荐指数
1
解决办法
2660
查看次数

将ExpandoObject持久保存到MongoDB

我有一个具有任意数量属性的ExpandoObject.我想将这些属性作为BsonDocument保存到MongoDB数据库.我尝试使用以下代码执行此操作:

private BsonDocument GetPlayerDocument(IPlayer player)
{
    var ret = new BsonDocument();

    ret.Add("FirstName", player.FirstName).
        Add("LastName", player.LastName).
        Add("Team", player.Team).
        Add("Positions", new BsonArray(player.Positions));

    foreach (var stat in (IDictionary<String, Object>)player.Stats)
    {
        ret.Add(stat.Key, stat.Value.ToBson());
    }

    return ret;
}
Run Code Online (Sandbox Code Playgroud)

但是,在对象上调用扩展方法ToBson()时,我收到以下异常:当State为:Initial时,不能调用WriteInt32.

我所知道的唯一的WrtieInt32是Marshall类的静态方法.我接近这个错吗?

c# mongodb expandoobject mongodb-.net-driver

5
推荐指数
2
解决办法
2736
查看次数

如何将javascript变量传递给JSON对象上的每个循环(jQuery)

当在页面上单击一个对象时,我正在从该对象收集数据,我需要将它传递给每个循环的jQuery,但是用我的JSON对象替换我拥有的数据.

这是我的HTML

<a href="#">Large</a>
Run Code Online (Sandbox Code Playgroud)

这是我的JSON数据

var sizeArray = {"Large":{"Red":[78],"Blue":[0],"Green":[0]}
Run Code Online (Sandbox Code Playgroud)

最后JS我遇到了问题

var size = $('a').text();
$.each(sizeArray.size, function(key, val){    
    if(this == 0){
        alert(key);
}});
Run Code Online (Sandbox Code Playgroud)

我得到的只是在jQuery中说"a is undefined"的错误.我知道问题不在于jQuery,问题在于标有"sizeArray.size"的标准.如果我用大号替换单词大小比一切都有效.我只是无法弄清楚如何传递它!

javascript jquery json

2
推荐指数
1
解决办法
2098
查看次数

只读文本块

目前我有一个文本块放在滚动查看器控件中.如何使文本块只读?

wpf textblock

18
推荐指数
1
解决办法
2万
查看次数

openvpn - 连接到openVPN后无法浏览互联网

我使用以下服务器端配置设置了一个openVPN隧道:

port 1194
proto udp
dev tun
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
client-to-client
log-append /var/log/openvpn
group daemon
daemon
verb 3
Run Code Online (Sandbox Code Playgroud)

和客户端配置文件如下:

client
remote ******* 1194
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
route-delay 2
route-method exe
redirect-gateway def1
verb 3
Run Code Online (Sandbox Code Playgroud)

但是,在连接时,我可以毫无问题地ping 10.8.0.1,但我甚至无法访问Google.

我在Windows 7旗舰版中使用管理员权限运行Open VPN 2.1.4.服务器是Ubuntu 10.04安装,默认情况下启用TUN.

我能在日志中找到的唯一可疑部分是这样的: …

openvpn windows-7

13
推荐指数
1
解决办法
4万
查看次数

在O(lgn)时间内修改堆

我一直试图解决这个问题几天了.我在学校遇到以下问题:

设A是一个小堆.操作HEAP-MODIFY(A,i,k)将节点i中的密钥更改为新值k,然后重新排列最小堆中的元素.为O元素最小堆提供在O(lgn)时间内运行的HEAPMODIFY的实现.

由于我们必须设计一个在O(lg(n))时间内运行的算法,我知道我不能只迭代每个元素.我有以下解决方案,但我不确定它是否正确.

HEAP-MODIFY(A,i,k):
    A[i] = K

    if A[i] < A[i/2]
        while A[i] < A[i/2] and i > 1
            exchange A[i], A[i/2]
            i=i/2
    else if A[i] > A[2*i]
    while A[i] > A[2*1] and i <k
        exchange A[i], A[2*i]
        i = 2*1
Run Code Online (Sandbox Code Playgroud)

有关如何解决这个问题的任何建议?

algorithm heap heapsort

6
推荐指数
1
解决办法
6670
查看次数

锁定一个分支,以便它不能被分阶段/提交到?(仅合并/等)

我有一个我喜欢的master/ develop分支系统,但它带有一个基本规则.没有提交developmaster仅进行合并.这很棒,但最近我不小心对我的开发分支进行了一些更改/提交,它让我失去了焦油.

我考虑将这些提交的所有权转移develop到另一个已经存在的分支(我们称之为work),这是我应该首先处理的那个,但我决定让这一个去.相反,我想先解决这个问题.如何锁定一个分支,以便提交对传统的正常更改不起作用?

例如,如果您在"锁定"分支上进行了更改,那么您git add也不可能git commit -a.我认为技术上我要求锁定舞台,但你明白了.有什么想法吗?或者我会更好地学习git,我知道如何解决提交父问题?

git

19
推荐指数
1
解决办法
9646
查看次数

线程使用100%的核心

有没有办法为一个线程使用多个内核?我目前在Ubuntu上使用Qt和i7

c++ linux qt multithreading

2
推荐指数
1
解决办法
432
查看次数

NSNotifications的所有类型是什么?

您是否知道所有可能的NSNotifications的完整列表?请告诉我.谢谢.

iphone xcode cocoa-touch objective-c ios

10
推荐指数
2
解决办法
1927
查看次数