Sqlite

在 sqlite 中,如何為不用於聚合或分組的列選擇返回值?

  • September 25, 2016

給定一個具有三列(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() 保證返回具有最小值/最大值的行中的值。

引用自:https://dba.stackexchange.com/questions/150533