小编Leg*_*end的帖子

没有ORDER BY的Where子句中的SQL Row_Number()函数?

我找到了很多关于这个主题的问题并提供了很好的解决方案,但是如果不以某种特定的方式对数据进行排序,那么它们实际上都没有解决该怎么做.例如,以下查询:

WITH MyCte AS 
(
    select   employee_id,
             RowNum = row_number() OVER ( order by employee_id )
    from     V_EMPLOYEE 
    ORDER BY Employee_ID
)
SELECT  employee_id
FROM    MyCte
WHERE   RowNum > 0
Run Code Online (Sandbox Code Playgroud)

如果要通过employee_id订购数据,则效果很好.但是,如果我的数据没有任何特定的顺序,但行号本身作为ID怎么办?我的目标是编写一个这样的查询(Row_Number()函数没有ORDER BY子句):

WITH MyCte AS 
(
    select   employee_id,
             RowNum = row_number() OVER ( <PRESERVE ORIGINAL ORDER FROM DB> )
    from     V_EMPLOYEE 
    ORDER BY Employee_ID
)
SELECT  employee_id
FROM    MyCte
WHERE   RowNum > 0
Run Code Online (Sandbox Code Playgroud)

编辑:通过谷歌搜索,我发现这是不可能的.有人可以建议一个解决方法吗?

sql database sql-server

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

从一个简单的(也许是最简单的)C编译器开始?

我遇到了这个问题:使用Turbo Pascal编写编译器

我很好奇是否有任何教程或参考资料解释如何创建一个简单的C编译器.我的意思是,如果它让我达到理解算术运算的水平就足够了.在阅读肯·汤普森的这篇文章后,我变得非常好奇.写一些理解自己的东西的想法似乎令人兴奋.

为什么我提出这个问题而不是问Google?我试过谷歌和帕斯卡一个是第一个链接.其余的似乎没有相关性,并且增加了......我不是CS专业(所以我仍然需要了解所有这些工具,如yacc),我想通过这样做来学习这一点,并希望有更多经验的人总是比谷歌更擅长这些事情.我想阅读一些与上面列出的文章相同的文章,但至少突出了构建一个简单的C编译器的自举阶段.

另外,我不知道最好的学习方法.我是否开始用C或其他语言构建C编译器?我是否编写C编译器或其他语言?一旦我有方向去探索,我觉得这样的问题会得到更好的回答.有什么建议?

有什么建议?

c compiler-construction programming-languages

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

如何有效地使用grep?

我有大量的小文件要搜索.我一直在寻找一个好的事实上的多线程版本,grep但找不到任何东西.如何提高我对grep的使用?截至目前我这样做:

grep -R "string" >> Strings
Run Code Online (Sandbox Code Playgroud)

unix linux search grep text

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

SQL Server Management Studio中是否有SELECT ... INTO OUTFILE等效项?

MySQL有一个漂亮的命令SELECT ... INTO OUTFILE,可以将结果集写入文件(CSV格式或其他一些可选格式).

我目前正在使用SQL Server Management Studio来查询MS-SQL后端服务器.我有多个SQL查询,并希望将输出结果集写入文件.有什么办法可以将查询结果直接存储到文件中吗?

sql sql-server sql-server-2008

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

计算k均值的方差百分比?

维基百科页面上,描述了用于确定k均值中的聚类数量的肘方法.scipy的内置方法提供了一个实现,但我不确定我是否理解它们所称的失真是如何计算的.

更确切地说,如果您绘制由集群解释的方差百分比与集群数量的关系图,则第一个集群将添加大量信息(解释大量方差),但在某些时候边际增益将下降,从而给出一个角度.图形.

假设我的相关质心有以下几点,那么计算这个量度的好方法是什么?

points = numpy.array([[ 0,  0],
       [ 0,  1],
       [ 0, -1],
       [ 1,  0],
       [-1,  0],
       [ 9,  9],
       [ 9, 10],
       [ 9,  8],
       [10,  9],
       [10,  8]])

kmeans(pp,2)
(array([[9, 8],
   [0, 0]]), 0.9414213562373096)
Run Code Online (Sandbox Code Playgroud)

我特别考虑计算0.94 ..测量给出的点和质心.我不确定是否可以使用任何内置的scipy方法,或者我必须编写自己的方法.关于如何有效地为大量积分做这些的任何建议?

简而言之,我的问题(所有相关的)如下:

  • 给定距离矩阵和哪个点属于哪个聚类的映射,计算可用于绘制肘图的度量的好方法是什么?
  • 如果使用不同的距离函数(如余弦相似度),方法会如何变化?

编辑2:失真

from scipy.spatial.distance import cdist
D = cdist(points, centroids, 'euclidean')
sum(numpy.min(D, axis=1))
Run Code Online (Sandbox Code Playgroud)

第一组点的输出是准确的.但是,当我尝试不同的设置时:

>>> pp = numpy.array([[1,2], [2,1], [2,2], [1,3], [6,7], [6,5], [7,8], [8,8]])
>>> kmeans(pp, 2)
(array([[6, 7],
       [1, 2]]), 1.1330618877807475)
>>> …
Run Code Online (Sandbox Code Playgroud)

python statistics numpy cluster-analysis k-means

35
推荐指数
2
解决办法
4万
查看次数

如何转换为D3的JSON格式?

在遵循众多D3示例的​​同时,数据通常采用flare.json中给出的格式进行格式化:

{
 "name": "flare",
 "children": [
  {
   "name": "analytics",
   "children": [
    {
     "name": "cluster",
     "children": [
      {"name": "AgglomerativeCluster", "size": 3938},
      :
Run Code Online (Sandbox Code Playgroud)

我有一个邻接列表如下:

A1 A2
A2 A3
A2 A4
Run Code Online (Sandbox Code Playgroud)

我想转换为上面的格式.目前,我在服务器端这样做,但有没有办法使用d3的功能实现这一目标?我在这里找到了一个,但这种方法似乎需要修改d3核心库,由于可维护性我不赞成.有什么建议?

javascript tree json graph d3.js

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

Kmeans不知道集群的数量?

我试图在一组高维数据点(大约50维)上应用k-means,并且想知道是否有任何实现找到最佳簇数.

我记得在某处读取算法通常这样做的方式是使群集间距离最大化并且群集内距离最小化但我不记得我在哪里看到它.如果有人可以指出我讨论这个的任何资源,那将是很棒的.我目前正在使用SciPy进行k-means,但任何相关的库都可以.

如果有其他方法可以实现相同或更好的算法,请告诉我.

python machine-learning data-mining k-means

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

拥有8000万条记录并添加索引的表需要超过18个小时(或永远)!怎么办?

简要回顾一下发生的事情.我正在处理7100万条记录(与其他人处理的数十亿条记录相比并不多).在另一个线程上,有人建议我的群集的当前设置不适合我的需要.我的表结构是:

CREATE TABLE `IPAddresses` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `ipaddress` bigint(20) unsigned default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)

我添加了7100万条记录,然后做了一个:

ALTER TABLE IPAddresses ADD INDEX(ipaddress);
Run Code Online (Sandbox Code Playgroud)

这是14个小时,操作仍未完成.通过谷歌搜索,我发现有一个众所周知的方法来解决这个问题 - 分区.我知道我现在需要根据ipaddress对我的表进行分区,但是我可以在不重新创建整个表的情况下执行此操作吗?我的意思是,通过ALTER声明?如果是,则有一个要求说要分区的列应该是主键.我将使用这个ipaddress的id来构建一个不同的表,所以ipaddress不是我的主键.在这种情况下,如何对表格进行分区?

mysql database database-design partitioning

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

我怎样才能制作出这样的情节?

我遇到过这种情节,它在给定的一组时间序列数据上执行分层聚类.谁能告诉我如何绘制这样的情节?

我对RJavascript中的实现持开放态度,特别是使用d3.js.

在此输入图像描述

javascript r dendrogram ggplot2 d3.js

31
推荐指数
1
解决办法
4065
查看次数

来自shell的GROUP BY/SUM

我有一个包含这样的数据的大文件:

a 23
b 8
a 22
b 1
Run Code Online (Sandbox Code Playgroud)

我希望能够得到这个:

a 45
b 9
Run Code Online (Sandbox Code Playgroud)

我可以先对这个文件进行排序,然后通过扫描文件一次在Python中进行.这样做有什么好的直接命令行方式?

unix linux shell awk command-line

31
推荐指数
4
解决办法
2万
查看次数