这是我的情况:我有一个重复值有效的表(除了ID字段),我想只检索唯一值。MySQL:选择除列以外唯一值的行
例如,如果我有寄存器:
+----+--------------+-------------+------+------+-------+-----+
| ID | SATELLITE_ID | ATT_TYPE_ID | TIME | ROLL | PITCH | YAW |
+----+--------------+-------------+------+------+-------+-----+
| 1 | 1 | 1 | 2012 | 1.0 | 2.0 | 1.3 |
+----+--------------+-------------+------+------+-------+-----+
| 2 | 1 | 1 | 2012 | 1.0 | 2.0 | 1.3 |
+----+--------------+-------------+------+------+-------+-----+
| 3 | 1 | 1 | 2011 | 1.0 | 2.0 | 1.3 |
+----+--------------+-------------+------+------+-------+-----+
我想检索公正2和3(ID 1和2是 “相等”,和3具有不同的时间)。
这表结构
mysql> describe attitude;
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| SATELLITE_ID | int(11) | NO | | NULL | |
| ATT_TYPE_ID | int(11) | NO | | NULL | |
| TIME | varchar(4) | NO | | NULL | |
| ROLL | double | NO | | NULL | |
| PITCH | double | NO | | NULL | |
| YAW | double | NO | | NULL | |
+--------------+--------------+------+-----+---------+----------------+
THX。
它是安全的假设,任何非键列的值可以改变?另外,您在查询中选择了哪一列? –
对于数据库引擎,千位寄存器实际上没有任何意义。 –
我想检索整个注册表(除ID以外的所有列),并且我有一个大型数据库,因此性能问题是一个问题(由于错误,我删除了以前的帖子,所以我在这里复制并更改了数字的寄存器)。 –