0
我在mysql表中有一列hiredate
。我不得不选择这个列的数据类型作为varchar,因为有时候我将hiredate
的值设为'xxxx-xx-xx'或'zzzz-zz-zz',我需要将这些值保存在数据库中。命令通过hiredate DESC不按预期在mysql中工作
我的问题是,当我与
select distinct
agentname
from agentdata
where hiredate not in ('xxxx-xx-xx','zzzz-zz-zz')
order by hiredate desc
条款执行查询,它不返回正确排序数据。但是当我用
select distinct
agentname,
hiredate
from agentdata
where hiredate not in ('xxxx-xx-xx','zzzz-zz-zz')
order by hiredate desc
子句执行查询时,它返回了正确的排序数据。
区别在于select语句中只有hiredate
字段。我不知道这种Mysql行为的原因。
您向我们展示的两个查询是不同的,并且不返回相同的列。比较他们是有点苹果橙色IMO。 –
是的,这两个是不同的,如果你想正确地对结果集进行排序,那么在select子句中必须有列名?如果我只希望代理人名称按职位排序,该怎么办? str_to_date(hiredate,'%Y-%m-%d')没有为我工作。 – Devendra