带有子查询的SQL SUM查询

时间:2014-04-17 14:20:44

标签: mysql

我正在努力获得总容量'对于每个站,但我一直收到错误消息"#1630 - 功能tflBikes.COUNT不存在":

SELECT Count(ts.capacity),
       tbu.stationid,
       ts.name,
       ts.easting,
       ts.northing,
       tbu.t,
       Round(Avg(availablebikes), 1) AS Average,
       Round(Avg(availablebikes) / capacity * 100, 1) AS Percentage,
       ts.postcode
FROM tflbikeusage tbu,
     tflstations ts
WHERE tbu.stationid = ts.usageid
  AND ts.easting = Abs(easting -
                         (SELECT easting
                          FROM tflstations
                          WHERE name = 'Hatton Garden, Holborn')) < 750 * 0.5
  AND ts.northing = Abs(northing -
                          (SELECT northing
                           FROM tflstations
                           WHERE name = 'Hatton Garden, Holborn')) < 750 * 0.5
  AND Hour(t) BETWEEN 10 AND 22
GROUP BY ts.capacity HAVING COUNT (ts.capacity) =
  (SELECT Sum(capacityno)
   FROM
     (SELECT COUNT(ts.capacity) AS capacityNo,
                  tbu.stationid,
                  ts.name,
                  ts.easting,
                  ts.northing,
                  tbu.t,
                  Round(Avg(availablebikes), 1) AS Average,
                  Round(Avg(availablebikes) / capacity * 100 , 1) AS Percentage,
                  ts.postcode
      FROM tflbikeusage tbu,
           tflstations ts
      WHERE tbu.stationid = ts.usageid
        AND ts.easting = Abs(easting -
                               (SELECT easting
                                FROM tflstations
                                WHERE name = 'Hatton Garden, Holborn')) < 750 * 0.5
        AND ts.northing = Abs(northing -
                                (SELECT northing
                                 FROM tflstations
                                 WHERE name = 'Hatton Garden, Holborn')) < 750 * 0.5
        AND Hour(t) BETWEEN 10 AND 22
      GROUP BY ts.capacity
      ORDER BY percentage DESC)derivedTable)

1 个答案:

答案 0 :(得分:0)

你将tflbikesUsage别名为“tbu”,所以你应该继续使用它。