B
C
A
D
它不是升序或降序排序。
有可能这样做吗?
首先,可以通过JasperReports引擎进行排序(无需查询语言,例如SQL)。
这可以借助主数据集或子数据集的sortField属性来完成。
没有排序的jrxml for report:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Non sorted data" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<subDataset name="ds">
<field name="value" class="java.lang.String">
<fieldDescription><![CDATA[_THIS]]></fieldDescription>
</field>
</subDataset>
<summary>
<band height="15">
<componentElement>
<reportElement x="0" y="0" width="311" height="15"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
<datasetRun subDataset="ds">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(Arrays.asList("def", "jkl", "abc", "ghi"))]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="15" width="311">
<textField>
<reportElement x="0" y="0" width="311" height="15"/>
<textFieldExpression><![CDATA[$F{value}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
</band>
</summary>
</jasperReport>
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Sorted data" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<subDataset name="ds">
<field name="value" class="java.lang.String">
<fieldDescription><![CDATA[_THIS]]></fieldDescription>
</field>
<sortField name="value"/>
</subDataset>
<summary>
<band height="15">
<componentElement>
<reportElement x="0" y="0" width="311" height="15"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
<datasetRun subDataset="ds">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(Arrays.asList("def", "jkl", "abc", "ghi"))]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="15" width="311">
<textField>
<reportElement x="0" y="0" width="311" height="15"/>
<textFieldExpression><![CDATA[$F{value}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
</band>
</summary>
</jasperReport>
简单的例子:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Data with custom sorting" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<subDataset name="ds">
<field name="value" class="java.lang.String">
<fieldDescription><![CDATA[_THIS]]></fieldDescription>
</field>
<sortField name="valueForSorting" type="Variable"/>
<variable name="valueForSorting" class="java.lang.Integer">
<variableExpression><![CDATA["a".equalsIgnoreCase($F{value}) ? 3 : "b".equalsIgnoreCase($F{value}) ? 1 : "c".equalsIgnoreCase($F{value}) ? 2 : "d".equalsIgnoreCase($F{value}) ? 4 : 0]]></variableExpression>
</variable>
</subDataset>
<summary>
<band height="15">
<componentElement>
<reportElement x="0" y="0" width="311" height="15"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
<datasetRun subDataset="ds">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(Arrays.asList("d", "c", "b", "a"))]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="15" width="311">
<textField>
<reportElement x="0" y="0" width="311" height="15"/>
<textFieldExpression><![CDATA[$F{value}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
</band>
</summary>
</jasperReport>
JSS中的结果将是:
在某些情况下,使用CASE运算符可以帮助我们按照我们想要的方式对数据进行排序。
SELECT value,
CASE
WHEN value = 'a' THEN 3
WHEN value = 'b' THEN 1
WHEN value = 'c' THEN 2
WHEN value = 'd' THEN 4
ELSE 0
END AS valueForSorting
FROM someTable
我做了一些挖掘,似乎在任何地方都找不到简单的答案,也许我找错了地方。我只想按文件的修改时间排序,从最旧到最新。这可能吗?
假设我有一个类似于这样的2D数组: 我需要根据第一列的降序和第二列的升序对行进行排序,以获得以下结果: 在Matlab中使用sortrows(my_matrix,[-12])很简单,其中-1表示第一列下降,2表示第二列上升。 我想知道numpy中是否有这样的功能。
我有98000个美国家庭街道地址,我需要按照“步行”的顺序进行排序,也就是说,按照你要走的顺序,沿着街道的一侧走,然后穿过街道往回走。 所需的df结果,对奇数街道编号进行升序排序,然后对偶数街道编号切换到降序排序。[抱歉,第一个问题,还没有资格复制Jupyter笔记本的图像] 4列:数字、街道、城镇、偶数 “编号”列的预期结果:1231 1233 1235 1237 1239 1238 1236
我想按第三个和第一个元素对元组数组进行排序,因此我使用了以下代码: 我的问题是,在前面的例子中,我可以按第三个元素和第一个元素的升序排序,也可以按它们的降序排序(使用反向)。但是如何按第三个元素的升序和第一个元素的降序排序。 请在你的回答中考虑以下情况: 在这种情况下,我不知道内部数组的确切大小(取决于我读入该数组的文件模式),我想按侧中的所有项进行排序(一些升序和一些降序)。 编辑:看起来,我明
问题内容: 假设表格具有名称,ID,年龄,性别,学历等。ID是关键,并且该表也按名称,年龄和性别进行索引。我需要所有25岁以上的男学生,按其姓名排序。 这在mySQL中很简单: IndexDB允许创建索引并根据该索引对查询进行排序。但是它不允许多个查询,例如年龄和性别。我发现了一个名为queryIndexedDB的小型库,该库允许复合查询,但不提供排序结果。 那么,在使用IndexedDB时,有没
问题内容: 如果排序列上有索引,排序是否使用mysql索引?索引还用于其他什么用途? 它对列的组合索引和单独索引有什么区别? 问题答案: 是的,当按排序列排序时,MySQL使用索引对信息进行排序。 另外,如果在添加到 SELECT 子句的所有列中都有索引,则MySQL不会从表本身加载数据,而是从索引加载数据(更快)。 合并和单独的索引之间的区别是,MySQL不能使用超过 一个 每次查询索引,因此,