小编Ran*_*Guy的帖子

必须出现在GROUP BY子句中或用于聚合函数

我有一张看起来像这个来电者'makerar'的桌子

 cname  | wmname |          avg           
--------+-------------+------------------------
 canada | zoro   |     2.0000000000000000
 spain  | luffy  | 1.00000000000000000000
 spain  | usopp  |     5.0000000000000000
Run Code Online (Sandbox Code Playgroud)

我想为每个cname选择最大平均值.

SELECT cname, wmname, MAX(avg)  FROM makerar GROUP BY cname;
Run Code Online (Sandbox Code Playgroud)

但我会收到一个错误,

ERROR:  column "makerar.wmname" must appear in the GROUP BY clause or be used in an   aggregate function 
LINE 1: SELECT cname, wmname, MAX(avg)  FROM makerar GROUP BY cname;
Run Code Online (Sandbox Code Playgroud)

所以我这样做

SELECT cname, wmname, MAX(avg)  FROM makerar GROUP BY cname, wmname;
Run Code Online (Sandbox Code Playgroud)

但这不会给出意图的结果,并显示下面的错误输出.

 cname  | wmname |          max           
--------+--------+------------------------
 canada …
Run Code Online (Sandbox Code Playgroud)

sql group-by aggregate-functions postgresql-9.1

240
推荐指数
5
解决办法
27万
查看次数

如何更改gdb中的执行线程?

我目前正在使用 KGDB 调试内核代码。每当我闯入时,我都会自然地跳转到 kgdb 的中断处理程序。在 GDB 下我运行了以下命令。

info threads 
Run Code Online (Sandbox Code Playgroud)

输出将是

7    Thread 7 (rcu_sched) 0x0000000000000000 in irq_stack_union ()

6    Thread 5 (kworker/0:0H) 0x0000000000000000 in irq_stack_union ()

5    Thread 3 (ksoftirqd/0) 0x0000000000000000 in irq_stack_union ()

4    Thread 2 (kthreadd) 0x0000000000000000 in irq_stack_union ()

3    Thread 1 (init)   0x0000000000000000 in irq_stack_union ()

2    Thread 3754 (Xorg) 0x0000000000000000 in irq_stack_union ()

* 1    Thread 4294967294 (shadowCPU0) kgdb_breakpoint ()

    at kernel/debug/debug_core.c:1042
Run Code Online (Sandbox Code Playgroud)

然后我会跳过代码,期望最终在不同的线程中结束(我对 Xorg 感兴趣),但是在我单步执行代码后,下一个执行线程将变为 cpu 空闲状态。

info thread

* 1    Thread 4294967294 (shadowCPU0) cpu_idle_loop …
Run Code Online (Sandbox Code Playgroud)

linux gdb kgdb

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

标签 统计

aggregate-functions ×1

gdb ×1

group-by ×1

kgdb ×1

linux ×1

postgresql-9.1 ×1

sql ×1