
05.12.2016, 15:10
|
|
Постоянный
Регистрация: 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'
что то явно хотели оптимизировать при вычислении запроса и х*й угадали походу
|
|
|