sql - 稍等片刻后整理数据
问题描述
下一次如何查询以在更短的时间内修改排序的数据(在本例中反之亦然)。
这看起来像当前的结果
这是我的查询:
SELECT *
FROM Z_PRAESENZZEIT
WHERE ZPZ_Datum = N'2019-02-11T00:00:00.000' and ZPZ_LPE_ID = 121
order by ZPZ_ID ASC
我需要按小于 (ZPZ_Von:1899-12-30 10:00:00<1899-12-30 13:00:00) 的 ZPZ_ID 和 ZPZ_VON 排序
解决方案
我认为您不希望在更短的时间内(即更有效)进行排序,而是按小于给定值的时间排序。
SELECT *
FROM Z_PRAESENZZEIT
WHERE
ZPZ_Datum = N'2019-02-11T00:00:00.000' and
ZPZ_LPE_ID = 121
ORDER BY
CASE WHEN ZPZ_Von < N'1899-12-30 13:00:00' THEN 0 ELSE 1 END,
ZPZ_ID
这将首先列出所有ZPZ_Von
小于1899-12-30 13:00:00
by的记录ZPZ_ID
,然后列出所有其他 by ZPZ_ID
。该CASE
表达式创建了两个记录排序依据的组。
如果您只想先按时间排序,然后按 ID 排序(如果两条或多条记录具有相同的时间),请编写
ORDER BY ZPZ_Von, ZPZ_ID
默认顺序总是升序ASC
,即从小到大。如果你想反转它,写DESC
。
推荐阅读
- c++ - 问题初始化 SimpleBlobDetector 的参数
- python - 张量流估计器的准确性和损失为零
- amazon-web-services - 如何使用 importValue 并加入 Cloudformation
- linux - 如何防止 docker 在错误时停止/删除容器
- c# - 动态创建的用户控件内的事件不会触发
- ruby - Ruby - 按列对 CSV 文件中的数据进行分组
- sails.js - 在 Sail.js 的控制器上创建用户定义的角色和动态应用 ACL 的最佳方法是什么?
- android - 在 libGDX 中缩放相机不保存尺寸
- android - Kotlin 中的图像共享意图问题
- azure-storage - 在 Azure Functions 中管理大量应用程序设置