[英]How to find the distinct values with total number of rows?
我想要一個查詢的結果。
目前,我正在使用 2 個查詢。 第一個用於不同的行,第二個用於計數行。 為第一個查詢的每一行觸發第二個查詢。 這對服務器不利。
我在單個查詢中嘗試過,但它顯示錯誤的每一行計數為 1。 我不知道如何在單個查詢中做到這一點。
請幫忙!
2 查詢:
SELECT DISTINCT `_car_make`.`id` as `make_id`, `_car_make`.`title`
FROM `_motor`, `_car_make`
WHERE `_motor`.`make` = `_car_make`.`id`
AND `domain` = 'domain.com' AND `active` = 'y' AND `_motor`.`status` != 'SOLD'
GROUP BY `_motor`.`id` ORDER BY `_car_make`.`title`
SELECT COUNT(DISTINCT `id`) AS `TOTAL_MAKE` FROM `_motor`
WHERE `_motor`.`make` = '$make_id'
AND `domain` = 'domain.com' AND `_motor`.`status` != 'SOLD' AND `active` = 'y'
我在 1 個查詢中嘗試過,它顯示計數為 1,這是錯誤的:
SELECT DISTINCT `_car_make`.`id` as `make_id`, `_car_make`.`title`, count(`_motor`.`id`) AS TotalMake
FROM `_motor`, `_car_make`
WHERE `_motor`.`make` = `_car_make`.`id`
AND `domain` = 'domain.com' AND `active` = 'y' AND `_motor`.`status` != 'SOLD'
GROUP BY `_motor`.`id` ORDER BY `_car_make`.`title`
你可以試試下面——
SELECT `_car_make`.`id` as `make_id`, `_car_make`.`title`, count(*) AS TotalMake
FROM `_motor` inner join `_car_make`
on `_motor`.`make` = `_car_make`.`id`
AND `domain` = 'coxheathcarcentre.co.uk'
where `active` = 'y' AND `_motor`.`status` != 'SOLD'
GROUP BY `_car_make`.`id`,`_car_make`.`title`
ORDER BY `_car_make`.`title`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.