【发布时间】:2014-05-10 16:50:38
【问题描述】:
您好,我对 SQL 还很陌生,并且一直在通过反复试验来学习,但我遇到了这个问题。我希望有人能给我一个建议。
1) 检查表是否已经存在于数据库中,如果确实删除了它[有效]
IF OBJECT_ID (N'PWC_L6_Daily',N'U') IS NOT NULL
DROP TABLE PWC_L6_Daily
2) 使用 SELECT INTO 语句从同一数据库中的原始表创建表,该语句中的 ORDER BY 子句可以正常工作,没有问题 DESC 或 ASC [工作]
SELECT Time_Stamp,Plate_Number,OP_Tgt_Wgt_Difference AS Sample_Tgt_Wgt_Difference,Plate_Weight_Target,Plate_Geometry,OP_NOP_Wgt_Difference
INTO PWC_L6_Daily
FROM PWC_L6
WHERE ((Time_Stamp BETWEEN '05/09/2014 07:00:00' And '05/10/2014 06:59:59') AND (OP_Tgt_Wgt_Difference BETWEEN -6 And 6) AND (NOP_Tgt_Wgt_Difference BETWEEN -6 And 6) AND (Plate_Number <> 0) AND (Plate_Geometry <> 'Error'))
UNION ALL
SELECT Time_Stamp,Plate_Number,NOP_Tgt_Wgt_Difference AS Sample_Tgt_Wgt_Difference,Plate_Weight_Target,Plate_Geometry,OP_NOP_Wgt_Difference
FROM PWC_L6
WHERE ((Time_Stamp BETWEEN '05/09/2014 07:00:00' And '05/10/2014 06:59:59') AND (OP_Tgt_Wgt_Difference BETWEEN -6 And 6) AND (NOP_Tgt_Wgt_Difference BETWEEN -6 And 6) AND (Plate_Number <> 0) AND (Plate_Geometry <> 'Error'))
ORDER BY Time_Stamp ASC
3) 检查表是否已经存在于数据库中,如果确实删除了它[有效]
IF OBJECT_ID (N'PWC_L6_Report',N'U') IS NOT NULL
DROP TABLE PWC_L6_Report
4) 使用 SELECT INTO 语句从先前在同一数据库中使用 SELECT INTO 语句创建的表创建表,GROUP BY 子句将起作用,但它会给出随机顺序,ORDER BY 子句将不执行任何操作。 [不订购]
SELECT MAX(Time_Stamp) AS Last_Produced,Plate_Number,COUNT(Plate_Number) AS Sample_Count,AVG(Sample_Tgt_Wgt_Difference) AS Avg_StT_Wgt_Difference,AVG(OP_NOP_Wgt_Difference) AS Avg_StS_Wgt_Difference,STDEV(Sample_Tgt_Wgt_Difference) AS Std_Dev_StT_Wgt_Difference
INTO PWC_L6_Report
FROM PWC_L6_Daily
GROUP BY Plate_Number
ORDER BY Last_Produced DESC
5) 我进行了以下故障排除,发现如果我更改为 ASC 或 DESC,第一个 ORDER BY 子句(在第二步中)会影响 PWC_L6_Report 表,但此 SELECT INTO 语句中的第二个 ORDER BY 子句不会有任何完全没有效果。 [临时声明]
SELECT Time_Stamp
INTO PWC_L6_Report
FROM PWC_L6_Daily
ORDER BY Time_Stamp DESC
如果有任何建议,我将不胜感激。谢谢。
【问题讨论】:
-
您没有真正提出问题。但是猜测一下,您误解了表格以某种方式排序。他们不是。它们是无序的集合,任何时候你想要某种特定顺序的东西,你都必须明确地请求它。
-
@MarcB “mysql 本机格式”与标记为 sql-server-2012 的问题有什么关系?
-
@ta.speot.is: sigh...mybad.
标签: sql sql-server sql-server-2012