1
CREATE TABLE `test_table` (
`id` int(10) UNSIGNED NOT NULL,
`field` varchar(255) COLLATE utf8_swedish_ci NOT NULL,
`value` text COLLATE utf8_swedish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;
INSERT INTO `test_table` (`id`, `field`, `value`) VALUES
(1, 'first_name', '0'),
(2, 'last_name', '0'),
(3, 'first_name', '1'),
(4, 'last_name', '1');
查詢:
SELECT MAX(`id`), `field`, `value` FROM test_table GROUP BY `field`
要我理解這應該具有較高的ID返回每個字段的值。
但它的返回:
MAX(`id`) field value
3 first_name 0
4 last_name 0
它返回正確的ID,正確的字段,但錯誤的值。這裏發生了什麼,如何修復它以返回第3和第4行?
你的理解是錯誤的。將返回一個隨機值。 –
如何獲得最高ID的價值? – unska