群上SQLITE的中值

群上SQLITE的中值,sql,sqlite,Sql,Sqlite,我有以下问题:我需要组的sqlite中值 示例:我有一个网络,它有多个起点和终点,每个起点和终点之间有几个行程距离。我现在需要每个开始/结束对的中间值 下表: Start | End | Time A | B | 5 A | B | 9 A | B | 6 B | C | 4 B | C | 8 C | A | 5 C

我有以下问题:我需要组的sqlite中值

示例:我有一个网络,它有多个起点和终点,每个起点和终点之间有几个行程距离。我现在需要每个开始/结束对的中间值

下表:

    Start  | End  | Time
      A    |  B   |  5
      A    |  B   |  9
      A    |  B   |  6
      B    |  C   |  4
      B    |  C   |  8
      C    |  A   |  5
      C    |  B   |  6
我希望得到以下结果:

    Start | End  | Median(Time)
      A   |  B   |   6
      B   |  C   |   6
      C   |  A   |   5
      C   |  B   |   6
我已经看到了如何计算中间值:,但我不知道如何将其应用于群体

要创建表,请使用以下代码:

CREATE TABLE "Times" ("Key" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE , "START" TEXT, "END" TEXT, "TIME" INTEGER);
INSERT INTO "Times" VALUES(1,'A','B',5);
INSERT INTO "Times" VALUES(2,'A','B',9);
INSERT INTO "Times" VALUES(3,'A','B',6);
INSERT INTO "Times" VALUES(4,'B','C',4);
INSERT INTO "Times" VALUES(5,'B','C',8);
INSERT INTO "Times" VALUES(6,'C','A',5);
INSERT INTO "Times" VALUES(7,'C','B',6);

非常感谢您的帮助。

我无法让它正常工作。您无法在限制或偏移范围内访问外部嵌套表,但a得到了以下答案:

SELECT Start, End, AVG(Time) FROM (
    SELECT *, (
        SELECT COUNT() FROM Times AS _ 
        WHERE Start=Times.Start AND End=Times.End AND (Time>Times.Time OR Time=Times.Time AND ROWID>Times.ROWID)
    )-(
        SELECT COUNT() FROM Times AS _ 
        WHERE Start=Times.Start AND End=Times.End AND (Time<Times.Time OR Time=Times.Time AND ROWID<Times.ROWID)
    ) AS m FROM Times WHERE m BETWEEN -1 AND 1
) GROUP BY Start, End;
只需在每个FROM…之后添加WHERE子句。。。!