gpt4 book ai didi

mysql - 排序结果受mysql varchar列长度影响

转载 作者:行者123 更新时间:2023-11-29 11:15:23 27 4
gpt4 key购买 nike

我遇到一个奇怪的问题,varchar 的长度影响 mysql 数据库中的结果。

sql:

SELECT oid, 
CODE,
VALUE,
COMMENT,
obser_date,
condition_code,
date_asserted,
location_code,
patient_oid,
performer
FROM t_clinical_observation
WHERE patient_oid= 1 AND CODE='1101' ORDER BY obser_date DESC

oid自动增加,注释为varchar。

如果评论长度为512,则结果为: enter image description here

如果评论长度为128,则结果为: enter image description here

我想把oid 109的记录永远保留在第一位。但如果注释栏的长度为512,则它停留在第二行。如果注释列的长度为128,则它保留在第一行。

谢谢。

最佳答案

没有问题:您正在对日期字段进行排序,并且两条记录具有完全相同的日期,因此它们可以按所需的任何顺序显示。

如果您两次调用同一查询,数据库也可能以不同的顺序返回它们。如果您确实看到字段的大小和两行的顺序之间存在相关性,则可能是数据库正在使用两个不同的执行计划,根据字段的大小以不同的顺序显示数据。

但是,如果您希望结果集中具有确定性的顺序,则应该订购一组唯一标识您的行的字段(在您的情况下,它可能是 obser_date AND oid)

关于mysql - 排序结果受mysql varchar列长度影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39844186/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com