我正在看一个类似于以下内容的图书示例(实际上是相同的):
private void btn4_Click_1(object sender, EventArgs e)
{
listView1.Items.Clear();
SqlConnection con = new SqlConnection(@"Server=.\SQLEXPRESS; Database=Student; Integrated Security=true");
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM info WHERE id LIKE '" + box4.Text + "%'", con);
DataTable dt = new DataTable();
da.Fill(dt);
listView1.Items.Clear();
foreach (DataRow row in dt.Rows)
{
ListViewItem item = new ListViewItem(row[0].ToString());
for (int i = 1; i < dt.Columns.Count; i++)
{
item.SubItems.Add(row[i].ToString());
}
listView1.Items.Add(item);
}
}
现在该书示例声称最后一条语句将按>>> from pyspark.sql import functions as sFn
>>> # Note: I import Spark functions this way to avoid name collisions w/ Python.
>>> # Usage below: sFn.expr(), sFn.col(), etc.
>>> col0 = [0, 1, 2, 3]
>>> col1 = [4, 5, 6, 7]
>>> myDF = spark.createDataFrame(zip(col0, col1),
schema=['col0', 'col1'])
>>> print(myDF)
>>> myDF.show()
>>> myDF.orderBy(sFn.expr('col0 desc')).show() # <--- Problem line. Doesn't descend.
降序排列,但事实并非如此:
col0
但是,这种语法变体一直对我有用:
DataFrame[col0: bigint, col1: bigint]
+----+----+
|col0|col1|
+----+----+
| 0| 4|
| 1| 5|
| 2| 6|
| 3| 7|
+----+----+
+----+----+
|col0|col1|
+----+----+
| 0| 4|
| 1| 5|
| 2| 6|
| 3| 7|
+----+----+
是拼写错误或勘误表上方的问题变量吗?如果是拼写错误或勘误表,则需要进行哪些调整才能使其正常工作?
谢谢。
答案 0 :(得分:3)
在sFn.expr('col0 desc')
中,desc
被翻译为别名,而不是order by
modifier
,正如您在控制台中键入的那样:
sFn.expr('col0 desc')
# Column<col0 AS `desc`>
以下是您可以根据需要选择的其他几个选项:
myDF.orderBy('col0', ascending=0).show()
+----+----+
|col0|col1|
+----+----+
| 3| 7|
| 2| 6|
| 1| 5|
| 0| 4|
+----+----+
myDF.orderBy(sFn.desc('col0')).show()
+----+----+
|col0|col1|
+----+----+
| 3| 7|
| 2| 6|
| 1| 5|
| 0| 4|
+----+----+
myDF.orderBy(myDF.col0.desc()).show()
+----+----+
|col0|col1|
+----+----+
| 3| 7|
| 2| 6|
| 1| 5|
| 0| 4|
+----+----+