我有一个表:abc_test,列为n_num,k_str。
此查询不起作用:
select distinct(n_num) from abc_test order by(k_str)
但这是可行的:
select n_num from abc_test order by(k_str)
DISTINCT和ORDER BY关键字在内部如何工作以使两个查询的输出都被更改?
据我从你的问题上的理解。
与众不同:-表示选择与众不同(所有选择的值都应该是唯一的)。order By:-仅表示按照您的要求对选定的行进行排序。
您的第一个查询中的问题是例如:我有一张桌子
ID name 01 a 02 b 03 c 04 d 04 a
现在查询select distinct(ID) from table order by (name)很困惑它应该为ID-04记录(因为那里有两个值d和Name列中的a)。因此,当您说按(名称)订购时,DB引擎的问题就在这里。
select distinct(ID) from table order by (name)