簡體   English   中英

如何找到具有總行數的不同值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM