我懷疑name
是關鍵,它不能爲空。此外,您希望獲取name = 001的'最新'值。
SELECT a.id, b.name, c.motorSpeed, d.motorDelay, e.F1type, f.F2type, g.F3type
FROM
(SELECT * FROM table WHERE id IS NOT NULL ORDER BY id DESC LIMIT 1) a
LEFT JOIN
(SELECT * FROM table WHERE name IS NOT NULL ORDER BY id DESC LIMIT 1) b ON b.name=a.name
LEFT JOIN
(SELECT * FROM table WHERE motorSpeed IS NOT NULL ORDER BY id DESC LIMIT 1) c ON c.name=a.name
LEFT JOIN
(SELECT * FROM table WHERE motorDelay IS NOT NULL ORDER BY id DESC LIMIT 1) d ON d.name=a.name
LEFT JOIN
(SELECT * FROM table WHERE F1type IS NOT NULL ORDER BY id DESC LIMIT 1) e ON e.name=a.name
LEFT JOIN
(SELECT * FROM table WHERE F2type IS NOT NULL ORDER BY id DESC LIMIT 1) f ON f.name=a.name
LEFT JOIN
(SELECT * FROM table WHERE F3type IS NOT NULL ORDER BY id DESC LIMIT 1) g ON g.name=a.name
WHERE a.name='001';
爲什麼motorSpeed的預期結果是200而不是400? – cen
因爲200是機器'001'的最新值。 400屬於機器'002' – HyVi