Sqlite
在 sqlite 中,如何為不用於聚合或分組的列選擇返回值?
給定一個具有三列(char、char、int)的 SQLite 數據庫,以下查詢
select column2, avg(column3) from table_name group by column2;
將返回
column3
每個不同值的聚合平均值column2
。以下查詢將返回什麼?
select column1, column2, avg(column3) from table_name group by column2;
我在玩Codeacademy 的 SQL 教程時遇到了這個案例。此特定查詢
column1
為 的每個不同值返回一個值column2
,但我無法弄清楚這些值是如何選擇的。
數據庫將從組中的任意行返回值。(在目前實現中,處理的是組中最後一行的值,但由於索引或其他優化,處理順序可能無法預測。)
從 SQLite 3.7.11 開始,使用 MIN() 或 MAX() 保證返回具有最小值/最大值的行中的值。