Uma*_*y S 0 sql sql-server sql-server-2008
我有一个表在SQL数据库中有ShipCountry,ShipCity和Freight列.我尝试使用以下查询从该表中检索数据.
Select ShipCountry from CountryDetails Group by ShipCountry
Run Code Online (Sandbox Code Playgroud)
如果我运行此查询,我将按升序获得结果.而不是这个我需要数据库顺序的数据.如何通过SQL查询实现这一点?
注意:如果我运行以下查询,它将以数据库顺序返回数据.当我在查询中添加group by子句时,我正在获取排序数据.
Select ShipCountry from CountryDetails
Run Code Online (Sandbox Code Playgroud)
使用group by进行排序是不正确的..(group by用于聚合函数,分别为min,max或count)
如果你需要一个特定的顺序使用order by,而不是
Select ShipCountry from CountryDetails Order by ShipCountry
Run Code Online (Sandbox Code Playgroud)
否则如果不想简单地使用
Select ShipCountry from CountryDetails
Run Code Online (Sandbox Code Playgroud)
请记住,db中存储的值没有正确的顺序..并且在用于检索数据的序列中选择.
每次需要订单时,您都必须明确地使用订单
避免"冗余值"..使用distinct而不是group by例如:
Select distinct ShipCountry from CountryDetails
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
522 次 |
| 最近记录: |