Mysql
 sql >> база данни >  >> RDS >> Mysql

изберете отделен брой (идентификатор) срещу изберете брой (отличен идентификатор)

Когато го направите select distinct count(id) тогава по същество правите:

select distinct cnt
from (select count(id) as cnt from t) t;

Тъй като вътрешната заявка връща само един ред, distinct не прави нищо. Заявката отчита броя редове в таблицата (добре, по-точно, броят на редовете, където id не е null ).

От друга страна, когато го направите:

select count(distinct id)
from t;

След това заявката отчита броя на различните стойности, които id поема на масата. Изглежда, че това е, което искате.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на съобщение, когато не са намерени резултати в PHP MySQL търсене

  2. mysql агрегатен UDF (функция, дефинирана от потребителя) в C

  3. SQL стандартно извикване UPSERT

  4. Декларирайте променлива в MySQL база данни „само за четене“.

  5. Laravel 5 Eloquent:Как да получите суров sql, който се изпълнява? (с обвързани данни)