Показать сообщение отдельно

  #5  
Старый 05.12.2016, 15:10
t0ma5
Постоянный
Регистрация: 10.02.2012
Сообщений: 830
Провел на форуме:
300820

Репутация: 90


По умолчанию

вообще мне тоже не понятно почему работает именно так, count в некоторых случаях при использовании rand делает несколько выборок, что как то странно

Код:
select count(*) from(select 1 union select 3 union select 9)x group by concat('qqq',':',rand(0)*2);
+----------+
| count(*) |
+----------+
|        1 |
|        1 |
|        1 |
+----------+
3 rows in set (0.00 sec)
видимо натыкается на использование одной и той же колонки, судя по ошибке, правда не понятно почему он не падает в примере выше, а только при использовании floor

Код:
select count(*) from(select 1 union select 3 union select 9)x group by concat('qqq',':',floor(rand(0)*2));
ERROR 1062 (23000): Duplicate entry 'qqq:1' for key 'group_key'
что то явно хотели оптимизировать при вычислении запроса и х*й угадали походу
 
Ответить с цитированием