本当にここで困惑していますので、アドバイスをお願いします。 MAX()はMySQLで予期しない結果を表示していません
Iclients
の表に、私は
ID
= 257とクライアントのために以下のレコードがあります。私は
ref
フィールドに簡単なMAX()を追加した場合、私が得る、今
SELECT ref, ID, client_name, data_1 FROM clients WHERE ID = 257
+------+-----+-------------+--------+
| ref | ID | client_name | data_1 |
+------+-----+-------------+--------+
| 1123 | 257 | Client257 | 0 |
| 1124 | 257 | Client257 | 163 |
+------+-----+-------------+--------+
を:
SELECT MAX(ref), ID, client_name, data_1 FROM clients WHERE ID = 257
+------+-----+-------------+--------+
| ref | ID | client_name | data_1 |
+------+-----+-------------+--------+
| 1124 | 257 | Client257 | 0 |
+------+-----+-------------+--------+
私が取得する必要があります。
+------+-----+-------------+--------+
| ref | ID | client_name | data_1 |
+------+-----+-------------+--------+
| 1124 | 257 | Client257 | 163 |
+------+-----+-------------+--------+
誰が説明することができますこれはどうですか?そして、私は望む結果を得るために何をすべきですか?
EDIT:@Ilionによって要求された
はSHOW CREATE TABLE clients
の出力を追加しました:
CREATE TABLE `clients` (
`ref` int(11) unsigned NOT NULL AUTO_INCREMENT,
`ID` int(11) unsigned NOT NULL,
`client_name` varchar(75) DEFAULT NULL,
`data_1` int(11) unsigned NOT NULL DEFAULT '0',
`last_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY `ref` (`ref`)
) ENGINE=MyISAM AUTO_INCREMENT=1135 DEFAULT CHARSET=utf8
max_1をdata_1に適用し、目的の結果が得られるかどうかを確認してください – Satya
2番目のクエリが正しく表示されていますか?最初のものと同じに見える – paulslater19
あなたのsintaxが間違っています。凝集した属性を選択することはできません。一緒に – andreapier