Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql division variables / 14 сообщений из 14, страница 1 из 1
15.09.2014, 23:59:40
    #38747342
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
Извините за тупой вопрос, но не смог найти ответа, как можно работать с variables?

Пример:

mysql> SELECT count(*) AS mm, count(DISTINCT daily) AS mmm FROM stats GROUP BY date LIMIT 10;
+----+-----+
| mm | mmm |
+----+-----+
| 62 | 1 |
| 69 | 1 |
| 82 | 60 |
| 82 | 75 |
| 84 | 75 |
| 84 | 74 |
| 85 | 68 |
| 85 | 72 |
| 85 | 70 |
| 85 | 75 |
+----+-----+
10 rows in set (0.02 sec)

mysql> SELECT count(*) AS mm, count(DISTINCT daily) AS mmm, (mm/mmm) AS mn FROM stats GROUP BY date LIMIT 10;
ERROR 1054 (42S22): Unknown column 'mm' in 'field list'

Ткните пожалуйста в ответ. Заранее спасибо.
...
Рейтинг: 0 / 0
16.09.2014, 00:25:35
    #38747347
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
Извиняюсь вопрос был туп, не отвлекайтесь на него.
...
Рейтинг: 0 / 0
16.09.2014, 02:26:11
    #38747369
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
alexnews,

как вариант, начинайте по простому:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT 
  count(*) AS mm, 
  count(DISTINCT daily) AS mmm, 
  (count(*)/count(DISTINCT daily)) AS mn 
FROM 
  stats 
GROUP BY date 
LIMIT 10;
...
Рейтинг: 0 / 0
16.09.2014, 09:34:49
    #38747468
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
alexnewsИзвините за тупой вопрос, но не смог найти ответа, как можно работать с variables?

Вы используете ошибочное слово, поэтому и зашли в тупик. as это не переменные, а алиасы.
Переменные в mysql обозначаются вот так:

Код: sql
1.
select @a := 5;



alexnewsmysql> SELECT count(*) AS mm, count(DISTINCT daily) AS mmm, (mm/mmm) AS mn FROM stats GROUP BY date LIMIT 10;
ERROR 1054 (42S22): Unknown column 'mm' in 'field list'

Ткните пожалуйста в ответ. Заранее спасибо.

вот так

Код: sql
1.
2.
select mm, mmm, (mm/mmm) mn from
    (SELECT count(*) AS mm, count(DISTINCT daily) AS mmm FROM stats GROUP BY date LIMIT 10) t;
...
Рейтинг: 0 / 0
16.09.2014, 10:05:18
    #38747486
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
Код: sql
1.
2.
3.
4.
5.
6.
SELECT
  @mm:=count(*) AS mm
, @mmm:=count(DISTINCT daily) AS mmm
, @mm/@mmm AS mmmmm 
FROM stats 
GROUP BY date;
...
Рейтинг: 0 / 0
16.09.2014, 18:21:08
    #38748338
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
Вов я действительно совсем не понимал ничего а точнее путал, такое разнообразие вариантов ответов на простой казалось бы вопрос. Я думаю с правильным заголовком это должно быть в FAQ сайта. Огромное спасибо за варианты ответов javajdbc, Lumix, Akina. А так же спасибо за то что не послали с простым вопросом.
...
Рейтинг: 0 / 0
16.09.2014, 18:34:08
    #38748352
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
Akina
Код: sql
1.
2.
3.
4.
5.
6.
SELECT
  @mm:=count(*) AS mm
, @mmm:=count(DISTINCT daily) AS mmm
, @mm/@mmm AS mmmmm 
FROM stats 
GROUP BY date;



это не даст желаемого результата, ибо значения переменых присвоеные, будут актуальные для
следующей строки!!!
...
Рейтинг: 0 / 0
16.09.2014, 18:36:49
    #38748354
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
javajdbcalexnews,

как вариант, начинайте по простому:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT 
  count(*) AS mm, 
  count(DISTINCT daily) AS mmm, 
  (count(*)/count(DISTINCT daily)) AS mn 
FROM 
  stats 
GROUP BY date 
LIMIT 10;



в подобной записи, зуб давать не буду, но уверен - мускл не будет дважды щитать чему равно
count(*)
PS вроде даже такое

select a,b,c,(select count(*) from table2) as 'total1',(select count(*) from table2) as 'total2'
from table

не будет щитать дважды!
...
Рейтинг: 0 / 0
16.09.2014, 18:44:11
    #38748361
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
покрайней мере в хейди скл врямя выполнения запроса что два каунта(с и без дистинкта)

что запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
select fk_iduser,
count(fk_idfolder),
count(distinct fk_idfolder),
count(fk_idfolder)*2,
count(fk_idfolder)*5,
count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder),
count(fk_idfolder)+count(distinct fk_idfolder)+count(fk_idfolder)+count(distinct fk_idfolder),
count(distinct fk_idfolder)*2,
count(distinct fk_idfolder)*count(fk_idfolder),
count(distinct fk_idfolder)*count(distinct fk_idfolder),
count(distinct fk_idfolder)+123,
count(fk_idfolder),
count(distinct fk_idfolder),
count(fk_idfolder)*2,
count(fk_idfolder)*5,
count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder),
count(fk_idfolder)+count(distinct fk_idfolder)+count(fk_idfolder)+count(distinct fk_idfolder),
count(distinct fk_idfolder)*2,
count(distinct fk_idfolder)*count(fk_idfolder),
count(distinct fk_idfolder)*count(distinct fk_idfolder),
count(distinct fk_idfolder)+123,
count(fk_idfolder),
count(distinct fk_idfolder),
count(fk_idfolder)*2,
count(fk_idfolder)*5,
count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder),
count(fk_idfolder)+count(distinct fk_idfolder)+count(fk_idfolder)+count(distinct fk_idfolder),
count(distinct fk_idfolder)*2,
count(distinct fk_idfolder)*count(fk_idfolder),
count(distinct fk_idfolder)*count(distinct fk_idfolder),
count(distinct fk_idfolder)+123,
count(fk_idfolder),
count(distinct fk_idfolder),
count(fk_idfolder)*2,
count(fk_idfolder)*5,
count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder)+count(fk_idfolder),
count(fk_idfolder)+count(distinct fk_idfolder)+count(fk_idfolder)+count(distinct fk_idfolder),
count(distinct fk_idfolder)*2,
count(distinct fk_idfolder)*count(fk_idfolder),
count(distinct fk_idfolder)*count(distinct fk_idfolder),
count(distinct fk_idfolder)+123,
count(distinct fk_idfolder)+12*count(fk_idfolder)

from files
group by fk_iduser


одинаково занимают 2.5сек (файлов гдето миллиона 2)

отличаеться время передачи (нетворк) - оно увеличилось.
...
Рейтинг: 0 / 0
16.09.2014, 18:45:56
    #38748365
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
alex564657498765453это не даст желаемого результата, ибо значения переменых присвоеные, будут актуальные для следующей строки!!!
Эммм... скриптик неверного результата не одолжите?
...
Рейтинг: 0 / 0
16.09.2014, 18:49:23
    #38748366
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
Akinaalex564657498765453это не даст желаемого результата, ибо значения переменых присвоеные, будут актуальные для следующей строки!!!
Эммм... скриптик неверного результата не одолжите?


Код: sql
1.
2.
3.
select fk_iduser,@aa:=count(fk_idfolder),@bb:=count(distinct fk_idfolder),@aa,@bb, @aa / @bb
from files 
group by fk_iduser;



Код: plaintext
1.
2.
3.
4.
"12","30","5",\N,\N,\N
"32","329","50","30","5","6"
"68","4910","56","329","50","6.58"

...
Рейтинг: 0 / 0
16.09.2014, 19:10:58
    #38748382
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
Да, точно... забыл уже, когда именно выполняется присвоение.
...
Рейтинг: 0 / 0
16.09.2014, 20:05:57
    #38748409
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
Я может покажусь навязчивым, но раз пошла такая пьянка, вопрос как можно получить в одном запросе следующее (боюсь назвать это переменной или алиасом до сих пор путаюсь):

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT 
    SUM(sumuniquebypublisher)
    , count(DISTINCT md5)
FROM
(SELECT
    count(DISTINCT md5) AS sumuniquebypublisher
FROM 
    imp_v18_20140915
GROUP BY
    publisher_id),
    imp_v18_20140915;



Идея получить разницу уникальных посетителей по группам и без групп. То есть одни и те же посетители есть у разных паблишеров и задача узнать сколько этих посетителей всего за день.

Я пробовал и так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT 
    SUM(sumuniquebypublisher)
    , sumtotal
FROM
(SELECT
    count(DISTINCT md5) AS sumuniquebypublisher
FROM 
    imp_v18_20140915
GROUP BY
    publisher_id),
(SELECT 
     count(DISTINCT md5) AS sumtotal
FROM
    imp_v18_20140915);



Вероятно это не возможно получить в одной строке SUM(count(DISTINCT)) BY GROUP и count(DISTINCT)?
...
Рейтинг: 0 / 0
17.09.2014, 02:22:47
    #38748625
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mysql division variables
alexnewsЯ может покажусь навязчивым, но раз пошла такая пьянка, вопрос как можно получить в одном запросе следующее (боюсь назвать это переменной или алиасом до сих пор путаюсь):

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT 
    SUM(sumuniquebypublisher)
    , count(DISTINCT md5)
FROM
(SELECT
    count(DISTINCT md5) AS sumuniquebypublisher
FROM 
    imp_v18_20140915
GROUP BY
    publisher_id),
    imp_v18_20140915;



Идея получить разницу уникальных посетителей по группам и без групп. То есть одни и те же посетители есть у разных паблишеров и задача узнать сколько этих посетителей всего за день.

Я пробовал и так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT 
    SUM(sumuniquebypublisher)
    , sumtotal
FROM
(SELECT
    count(DISTINCT md5) AS sumuniquebypublisher
FROM 
    imp_v18_20140915
GROUP BY
    publisher_id),
(SELECT 
     count(DISTINCT md5) AS sumtotal
FROM
    imp_v18_20140915);



Вероятно это не возможно получить в одной строке SUM(count(DISTINCT)) BY GROUP и count(DISTINCT)?


посмотрите WITH ROLLUP.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql division variables / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]