powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql division variables
14 сообщений из 14, страница 1 из 1
mysql division variables
    #38747342
Фотография alexnews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините за тупой вопрос, но не смог найти ответа, как можно работать с 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
mysql division variables
    #38747347
Фотография alexnews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь вопрос был туп, не отвлекайтесь на него.
...
Рейтинг: 0 / 0
mysql division variables
    #38747369
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
mysql division variables
    #38747468
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
mysql division variables
    #38747486
Фотография 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
mysql division variables
    #38748338
Фотография alexnews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вов я действительно совсем не понимал ничего а точнее путал, такое разнообразие вариантов ответов на простой казалось бы вопрос. Я думаю с правильным заголовком это должно быть в FAQ сайта. Огромное спасибо за варианты ответов javajdbc, Lumix, Akina. А так же спасибо за то что не послали с простым вопросом.
...
Рейтинг: 0 / 0
mysql division variables
    #38748352
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
mysql division variables
    #38748354
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
mysql division variables
    #38748361
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покрайней мере в хейди скл врямя выполнения запроса что два каунта(с и без дистинкта)

что запрос
Код: 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
mysql division variables
    #38748365
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453это не даст желаемого результата, ибо значения переменых присвоеные, будут актуальные для следующей строки!!!
Эммм... скриптик неверного результата не одолжите?
...
Рейтинг: 0 / 0
mysql division variables
    #38748366
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
mysql division variables
    #38748382
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, точно... забыл уже, когда именно выполняется присвоение.
...
Рейтинг: 0 / 0
mysql division variables
    #38748409
Фотография 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)?
...
Рейтинг: 0 / 0
mysql division variables
    #38748625
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql division variables
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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