2

我有一张包含城市和州的表格,它看起来像:

cityid    |city    |stateid    |state
--------------------------------------
0566      |abriaqui|05         |antioquia
0599      |alejand |05         |antioquia
0511      |another |05         |antioquia
0782      |dummy1  |09         |caldas
0783      |dummy2  |09         |caldas
0785      |dummy3  |09         |caldas
0788      |dummy4  |03         |Narino
0767      |dummy5  |03         |Narino
0734      |dummy6  |03         |Narino

如您所见,我有具有唯一 ID 的城市,它们所属的州就在右侧,带有州 ID 和州名。我想做一个返回类似于 DINSTINCT(state) 的查询:

STATE
--------------------
antioquia
caldas
narino

但我也需要stateid。我怎样才能做到这一点?

4

5 回答 5

2

试试这个方法:

select distinct state, stateid
from tab

你也可以使用group by子句

select state, stateid
from tab
group by state, stateid

如果您需要一些聚合功能,Group by 很有用。解决方案取决于您的要求。

于 2013-07-23T14:01:11.520 回答
2

只需执行以下操作:

SELECT DISTINCT state, stateid
FROM table
于 2013-07-23T14:02:17.787 回答
1

您应该重新排列数据库以将状态存储在单独的表 STATES(id, name) 和 CITIES(id, name, state_id) 中,然后选择可以使用的状态

SELECT id, name from STATES
于 2013-07-23T14:06:29.957 回答
1

你试过这个吗?

select distinct stateid, state
from CityStates cs
于 2013-07-23T14:01:08.160 回答
1
Select Distinct stateid, state  
from myTable
于 2013-07-23T14:02:35.147 回答