111

Вопрос по sql, mysql – Использование DISTINCT и COUNT вместе в MySQL Query

Возможно ли что-то подобное:

SELECT DISTINCT COUNT(productId) WHERE keyword='$keyword'

Я хочу получить количество уникальных идентификаторов товаров, связанных с ключевым словом. Один и тот же продукт может быть связан дважды с ключевым словом или более, но я бы хотел, чтобы по одному идентификатору продукта учитывался только 1 раз.

  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit ExceededSELECT count(*) FROM (SELECT distinct productId WHERE keyword = '$keyword') temp

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit ExceededSELECT COUNT(DISTINCT(productId)) from table_name WHERE keyword='$keyword'Error: User Rate Limit ExceededCOUNT( ).

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
7 ответов
  • 250

    использование

    SELECT COUNT(DISTINCT productId) from  table_name WHERE keyword='$keyword'
    

  • 6

    What the hell of all this work anthers

    это слишком просто

    если вам нужен список того, сколько productId в каждом ключевом слове здесь, это код

    SELECT count(productId),  keyword  FROM `Table_name` GROUP BY keyword; 
    

  • 31

    Вы были близки :-)

    select count(distinct productId) from table_name where keyword='$keyword'
    

  • -5

    Разве это не лучше с группой?

    Что-то вроде:

    SELECT COUNT(*) FROM t1 GROUP BY keywork;
    

  • 3

    для другого ответа об этом типе вопроса это мой другой ответ для подсч

    SELECTING DISTINCT PRODUCT AND DISPLAY COUNT PER PRODUCT

    ета количества продуктов по названию продукта, как показано ниже:

    Значение таблицы

    select * FROM Product
    

    Название продукта

    SELECT DISTINCT(Product_Name),
    (SELECT COUNT(Product_Name) 
    from Product  WHERE Product_Name = Prod.Product_Name)  
    as `Product_Count`
    from Product as Prod
    

    Record Count: 4; Execution Time: 2ms

  • 15

    К вашему сведению, это, вероятно, быстрее,

    SELECT count(1) FROM (SELECT distinct productId WHERE keyword = '$keyword') temp
    

    чем это,

    SELECT COUNT(DISTINCT productId) WHERE keyword='$keyword'
    

  • 50

    Я бы сделал что-то вроде этого:

    Select count(*), productid
    from products
    where keyword = '$keyword'
    group by productid
    

    это даст вам список, как

    count(*)    productid  
    ----------------------
     5           12345   
     3           93884   
     9           93493    
    

    Это позволяет увидеть, сколько из каждого отдельного идентификатора продукта связано с ключевым словом.