我在Oracle SQL中遇到问题.
我first_name在employees表格中有一列.我想根据第一个字符对我的记录进行分组first_name.
例如,我有26条记录,一个用name = 'Alice',一用name = 'Bob',等下来的字母表每个名称的第一个字符.查询后,应该有26个组,每个组有一名员工.
我尝试了以下,但它不起作用:
SELECT employee_id, (SUBSTR(first_name,1,1)) AS alpha FROM employees
GROUP BY alpha;
name_which_starts_from employees
A 10
B 2
C 4
D 9
E 3
G 3
H 3
I 2
J 16
K 7
L 6
M 6
N 4
O 1
P 6
R 3
S 13
T 4
V 2
W 3
Run Code Online (Sandbox Code Playgroud) 我有一个大的整数列表(数千),我想从中提取第一个N(大约10-20)的唯一元素.列表中的每个整数大约出现三次.
编写一个算法来做这件事是微不足道的,但我想知道什么是速度和内存最有效的方法.
在我的案例中还有一些额外的约束和信息:
在我的用例中,我在数组上多次提取我的唯一身份,每次都从头开始跳过一些元素.在唯一提取期间,我跳过的元素数量是未知的.我甚至没有上限.因此排序不是速度效率的(我必须保持数组的顺序).
整数遍布整个地方,因此作为查找解决方案的位数组是不可行的.
我想不惜一切代价避免在搜索过程中进行临时分配.
我目前的解决方案大致如下:
int num_uniques = 0;
int uniques[16];
int startpos = 0;
while ((num_uniques != N) && (start_pos < array_length))
{
// a temporary used later.
int insert_position;
// Get next element.
int element = array[startpos++];
// check if the element exist. If the element is not found
// return the position where it could be inserted while keeping
// the array sorted.
if (!binary_search (uniques, element, num_uniques, &insert_position))
{
// insert the new unique …Run Code Online (Sandbox Code Playgroud) 这一个重复.
你会用什么来填充Flex/AS3中数字左边的零?
是否有相同printf或者NumberFormat这样做?
我正在寻找这个或类似的最好的实现:
public function zeroPad(number:int, width:int):String {
// number = 46, width = 4 would return "0046"
}
Run Code Online (Sandbox Code Playgroud) 任何人有任何关于如何设置调用php函数的php和cocoa方面的建议?为了快速了解我想要做什么,我希望能够使用数据填充两个表并从数据库添加/删除数据.所以我想在php中设置一些函数,我可以从我的iPhone代码中调用它来返回查询中的值.我应该注意我的数据库是MySQL.
大多数情况下,我对语法很感兴趣,所以如果你有任何我可以使用的代码示例,那将非常有用.
提前致谢!
我正在尝试在我的应用程序中调整物化视图.我开始执行:
dbms_advisor.tune_mview()
Run Code Online (Sandbox Code Playgroud)
过程,并将以下代码写入Oracle SQL Developer的SQL_Worksheet:
variable mvtask varchar2(100);
variable mvddl varchar2(4000);
execute :mvtask := 'MV_FOO_BAR';
execute select query into :mvddl from user_mviews where view_name = 'MV_FOO_BAR';
execute dbms_advisor.tune_mview(:mvtask, :mvddl);
select * from user_tune_mview;
Run Code Online (Sandbox Code Playgroud)
显然,已经创建了物化视图(refresh fast on commmit然而,其运行速度令人无法接受地慢).顾问报告以下错误:
Error report: ORA-13600: error encountered in Advisor QSM-03112: Invalid CREATE MATERIALIZED VIEW statement ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86 ORA-06512: at "SYS.PRVT_ACCESS_ADVISOR", line 202 ORA-06512: at "SYS.PRVT_TUNE_MVIEW", line 1026 ORA-06512: at "SYS.DBMS_ADVISOR", line 754 ORA-06512: at line 1 13600. 00000 - "error …
在我们使用Reporting Services 2005的一个系统中,客户端要求报告以水印为特色,以确保由客户打印并发送的报告(例如:系统生成的合同文件,但必须签署并邮寄)是真实的.
我无法找到明确的方法来做到这一点.如果有人对如何在报告上进行简单的图像水印有任何建议,我们将不胜感激.
鉴于此XML数据:
<root> <item>apple</item> <item>orange</item> <item>banana</item> </root>
我可以使用这个XSLT标记:
... <xsl:for-each select="root/item"> <xsl:value-of select="."/>, </xsl:for-each> ...
得到这个结果:
苹果,橘子,香蕉,
但是如何生成最后一个逗号不存在的列表?我认为可以按照以下方式做一些事情:
... <xsl:for-each select="root/item"> <xsl:value-of select="."/> <xsl:if test="...">,</xsl:if> </xsl:for-each> ...
但测试表达式应该是什么?
我需要一些方法来确定列表的长度以及我当前在列表中的位置,或者,如果我当前正在处理列表中的最后一个元素(这意味着我不关心它有多长或者是什么目前的立场是).
今天我遇到了我从未听说过的嵌套功能.它只是GNU C的一部分吗?
这是一个嵌套函数的维基百科示例.
float E(float x)
{
float F(float y)
{
return x + y;
}
return F(3);
}
Run Code Online (Sandbox Code Playgroud)
从代码中看,嵌套函数看起来像C++内联函数.那么,是否有可能取出嵌套函数的地址?
编辑:
Adam给出的gcc链接说嵌套函数的代码是在堆栈上动态创建的.但是如何从堆栈运行代码?不应该在代码段中.
这是我的代码:
// Not all headers are relevant to the code snippet.
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <cstdlib>
#include <cstring>
#include <unistd.h>
char *buffer;
stringstream readStream;
bool readData = true;
while (readData)
{
cout << "Receiving chunk... ";
// Read a bit at a time, eventually "end" string will be received.
bzero(buffer, BUFFER_SIZE);
int readResult = read(socketFileDescriptor, buffer, BUFFER_SIZE);
if (readResult < 0)
{
THROW_VIMRID_EX("Could not read from socket.");
}
// Concatenate the received data …Run Code Online (Sandbox Code Playgroud) 有没有人知道使用命令行远程管理Windows XP机器的好方法?
目前,它唯一需要做的就是能够安装应用程序/补丁,并将文件传输到机器或从机器传输文件,并且安装注册表补丁也会很好.
目前我们使用一个使用NetMeeting的可怕的黑客攻击解决方案,过去我已经使用SSH for Windows(在Windows 2000时)将概念证明放在一起,但它并不能令我满意并且非常错误.这可能是SSH守护进程的结果,我运行的更多.
我对任何事情都很开放,但是使用SSH的解决方案是理想的,因为它已经被批准在我的组织中安装,并且它是免费的.我在加拿大政府工作,所以任何免费的东西都是最好的,我们已经批准安装的任何东西都会更好.