如何添加另一列到其他列的SELECT DISTINCT查询?

问题描述:

我有这个表如何添加另一列到其他列的SELECT DISTINCT查询?

CREATE TABLE APmeasure 
(id_APmeasure INTEGER PRIMARY KEY AUTOINCREMENT 
, RSSI TEXT, TimeOfMeasure DATETIME 
, BSSID TEXT, id_APm INTEGER NOT NULL 
, FOREIGN KEY (id_APm) REFERENCES APTable (id_Ap) ON DELETE CASCADE) 

我想打一个查询这会给我的TimeOfMeasureBSSID不同的结果,这样的:

SELECT DISTINCT TimeOfMeasure, BSSID 
FROM APmeasure 
WHERE "condition" 

但是,这将取回我的其他列表,与DISTINCT查询相关。

我该怎么做?

  1. 执行不同/分组操作,
  2. 加入导致不同/分组操作的...

喜欢的东西:

SELECT [whichever columns you want] 
    FROM APmeasure 
     JOIN (
      SELECT TimeOfMeasure, BSSID 
      FROM APmeasure 
      WHERE [condition] 
     GROUP BY TimeOfMeasure, BSSID 
     ) x 
     ON x.TimeOfMeasure = APmeasure.TimeOfMeasure 
    AND x.BSSID = APmeasure.BSSID 
     [any other joins you need] 
+0

这在同检索BSSID的重复值TimeOfMeasure,我想DISTINCT .. – Mark 2011-06-08 01:44:17

+0

'group by',就像'distinct'一样,完全能够产生你请求的结果。这是一个类似问题的链接(不完全相同但相似);作者尝试了几种方法并选择了上面显示的技术:http://poeticcode.wordpress.com/2008/02/20/sqlite-join-and-group-by-vs-group-by-and-join/ – bernie 2011-06-08 16:57:59