我有两个相同结构的大(400多万条记录)表,它们有大约300k重复行.我想DELETE使用DELETE IN语法重复行.
我已经使用该MERGE语句完成了它(仅在2008或更新时可用,所以我不能使用它,因为我还在运行2005),而且DELETE EXISTS,但是我在开始DELETE IN工作时遇到了一些麻烦.
我遇到的问题DELETE IN是我的大表有一个复合主键,这意味着我只能使用所有这些列来识别唯一的行.
在T-SQL中是否可以将多个表达式作为IN子句的参数?就像是:
DELETE FROM MyBigTable
WHERE ([Column1], [Column2], [Column3]) IN
(SELECT [Column1],
[Column2],
[Column3]
FROM MyBigTable
INTERSECT
SELECT [Column1],
[Column2],
[Column3]
FROM MyOtherBigTable)
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来实现一个S表达式读取器(稍后将同时使用一个Scheme解释器和一个编译器),但我一直在问自己(如果有的话)我应该为它编写一个AST.
我一直在阅读SICP,这在Scheme中非常简单,但我希望以OO方式在C++中实现解释器和编译器.
请记住,我这样做只是为了学习目的,所以我并不是在寻找最简单或最快捷的方法,而是寻找正确且可重复使用的方法.
我在一些Scheme实现中看到人们解析s表达式并且很容易输出cons单元,如下所示:
struct Sexpr
{
};
struct Cons : public Sexpr
{
Sexpr* left;
Sexpr* right;
};
struct IntAtom : Sexpr
{
int value;
};
Run Code Online (Sandbox Code Playgroud)
每种方案都有一个Sexpr的子类Atom,或者类似的东西.
我不确定,但这对我来说似乎是一个黑客......这项工作不应该由翻译而不是读者完成吗?
我想知道的是,这是否被认为是读取S表达式的最佳(或正确)方式,还是解析器的作用比解析器更重要?解析器是否应该有自己的AST而不是依赖于cons细胞?
我正在尝试创建适合数据集的线性模型的3d图.我能够在R中相对容易地做到这一点,但我真的很难在Python中做同样的事情.这是我在R中所做的:

这是我在Python中所做的:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import statsmodels.formula.api as sm
csv = pd.read_csv('http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv', index_col=0)
model = sm.ols(formula='Sales ~ TV + Radio', data = csv)
fit = model.fit()
fit.summary()
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(csv['TV'], csv['Radio'], csv['Sales'], c='r', marker='o')
xx, yy = np.meshgrid(csv['TV'], csv['Radio'])
# Not what I expected :(
# ax.plot_surface(xx, yy, fit.fittedvalues)
ax.set_xlabel('TV')
ax.set_ylabel('Radio')
ax.set_zlabel('Sales')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我做错了什么,我该怎么做?
谢谢.
c++ ×1
matplotlib ×1
oop ×1
python ×1
s-expression ×1
scheme ×1
sql ×1
sql-delete ×1
statistics ×1
t-sql ×1