該查詢的結果給了我0行,它應該給我3個最新的行(按Table1.Name分組)。 表1具有:「名稱」,「時間戳」,「電壓」。 表2具有:「名稱」,「數據」。爲什麼按小組排序並給出0響應
當我刪除「ORDER BY Table1.Timestamp」我得到3行(如預期),但他們是數據庫中我想要3最新的3個最舊的條目。 (我在表1和表2中有3個名稱值匹配)。
代碼:
SELECT * from Table1
INNER JOIN Table2
ON Table1.Name=Table2.Name
GROUP BY Table1.Name
ORDER BY Table1.Timestamp;
*「但它們是數據庫中我想要3個最新的3個最舊的條目。」* - 這個**不是** GROUP BY的一個工作。 'GROUP BY'不返回數據庫中的行。它使用數據庫中的值生成它返回的值。 – axiac
搜索一個標有[tag:greatest-n-per-group]的類似問題。 – axiac
如果您還在苦苦掙扎,請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a -very-simple-sql-query – Strawberry