如何使用mysql中的计数值查询

时间:2015-07-17 11:22:53

标签: mysql count

我希望在类似的搜索中使用表的计数值。我能怎么做?这是我的查询,显示#1111 - 无效使用群组功能

  select driver_details.DriverId, 
           count(taxi_trip.AutoId) AS TotalTrip, 
           sum(taxi_trip.TripDistance) AS TotalTripDistance, 
           sum(taxi_trip.TotalFare) AS  TotalTripFare 
   from driver_details 
         left join taxi_trip 
          on taxi_trip.DriverId = driver_details.DriverId 
           and taxi_trip.PickupLAT != 0 
           and taxi_trip.DropLAT != 0 
           and taxi_trip.TotalFare != 0 
   where (date_format(taxi_trip.RequestDate,'%Y-%m-%d') >= 2015-07-17) 
     and (date_format(taxi_trip.RequestDate,'%Y-%m-%d') <= 2015-07-17) 
     and (driver_details.DriverId LIKE '%sa%' 
     or driver_details.Firstname LIKE '%sa%' 
     or driver_details.Lastname LIKE '%sa%' 
     or driver_details.TaxiPlateNo LIKE '%sa' 
     or count(taxi_trip.AutoId) LIKE '%sa%' 
     or sum(taxi_trip.TripDistance) LIKE '%sa%' 
     or sum(taxi_trip.TotalFare) LIKE '%sa%') 
   group by taxi_trip.AutoId

2 个答案:

答案 0 :(得分:0)

尝试使用拥有

重写它
select driver_details.DriverId, 
      count(taxi_trip.AutoId) AS TotalTrip, 
      sum(taxi_trip.TripDistance) AS TotalTripDistance, 
      sum(taxi_trip.TotalFare) AS  TotalTripFare 
from driver_details 
    left join taxi_trip 
     on taxi_trip.DriverId = driver_details.DriverId 
      and taxi_trip.PickupLAT != 0 
      and taxi_trip.DropLAT != 0 
      and taxi_trip.TotalFare != 0 
group by taxi_trip.AutoId 
having (date_format(taxi_trip.RequestDate,'%Y-%m-%d') >= 2015-07-17) 
  and (date_format(taxi_trip.RequestDate,'%Y-%m-%d') <= 2015-07-17) 
  and (driver_details.DriverId LIKE '%sa%' 
  or driver_details.Firstname LIKE '%sa%' 
  or driver_details.Lastname LIKE '%sa%' 
  or driver_details.TaxiPlateNo LIKE '%sa' 
  or count(taxi_trip.AutoId) LIKE '%sa%' 
  or sum(taxi_trip.TripDistance) LIKE '%sa%' 
  or sum(taxi_trip.TotalFare) LIKE '%sa%') 

答案 1 :(得分:0)

如果我理解正确,你想使用

的值
count(taxi_trip.AutoId)

作为查询中的变量

'%sa%'

尝试

DECLARE @taxiTrips INT;
SET @taxiTrips = SELECT count(taxi_trip.AutoId) FROM driver_details;

然后您可以使用@taxiTrips作为变量。 所以在你的查询中更改

driver_details.Firstname LIKE '%sa%' 

driver_details.Firstname LIKE @taxiTrips

但我真的不知道你试图用这个来存档...