powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Переделать запрос с MSAccess в MySQL
18 сообщений из 18, страница 1 из 1
Переделать запрос с MSAccess в MySQL
    #39315912
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пемогите переделать запрос с аксеса под мускул
Код: sql
1.
2.
3.
4.
parameters n long;
select cdate(avg(dat)) as dat_sr, avg(param) as param_sr
from t
group by fix(cdbl(t.dat)/cdbl(timeserial(0,0,n)))
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39315934
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penumbra,

Расшифровывайте, что делают все упомянутые функции кроме avg().
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39315938
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fix - отбрасывает дробную часть
cdate -функции преобразования типа, возрацает тип DATE
cdbl -функции преобразования типа, возращает тип Double
TimeSerial- Возвращает значение типа Variant (Date), выражающее время, определяемое по указанным значениям часов, минут и секунд - TimeSerial(часы, минуты, секунды)
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39315954
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ориентироваться на смысл, а не идентичность, то
Код: sql
1.
2.
3.
SELECT CAST(AVG(dat) AS DATETIME) AS dat_sr, AVG(param) AS param_sr
FROM t
GROUP BY FLOOR(UNIX_TIMESTAMP(dat)/n)
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39315955
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penumbra,

И показывайте DDL таблицы.
PenumbraFix - отбрасывает дробную часть TRUNCATE() , FLOOR()
Penumbracdate -функции преобразования типа, возрацает тип DATEА что на входе?

PenumbraTimeSerial- Возвращает значение типа Variant (Date), выражающее время, определяемое по указанным значениям часов, минут и секунд - TimeSerial(часы, минуты, секунды) MAKETIME()
Правда непонятно, зачем эта функция в запрсе.
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39315958
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftнепонятно, зачем эта функция в запрсе.
См. http://forum.sources.ru/index.php?showtopic=409605
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39315959
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akinamiksoftнепонятно, зачем эта функция в запрсе.
См. http://forum.sources.ru/index.php?showtopic=409605 Все равно не понял, зачем n преобразовывать во время, потом в дабл, а потом делить на него? Почему сразу просто не поделить?
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39316527
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CAST(AVG(dat) AS DATETIME) AS dat_sr - возвращает Null вместо даты
CONVERT(avg(dates) , DATETIME) AS dat_sr - тоже дает ошибку
avg(dates) AS dat_sr- возвращает 20160921114157,3 вместо даты 2016-09-21 11:14:15
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39316529
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
решил через одно место

Код: sql
1.
FROM_UNIXTIME(AVG(UNIX_TIMESTAMP(dates))) AS dat_sr
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39316561
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PenumbraCAST(AVG(dat) AS DATETIME) AS dat_sr - возвращает Null вместо даты
CONVERT(avg(dates) , DATETIME) AS dat_sr - тоже дает ошибку
avg(dates) AS dat_sr- возвращает 20160921114157,3 вместо даты 2016-09-21 11:14:15
А какой тип поля у dat?
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39317104
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaPenumbraCAST(AVG(dat) AS DATETIME) AS dat_sr - возвращает Null вместо даты
CONVERT(avg(dates) , DATETIME) AS dat_sr - тоже дает ошибку
avg(dates) AS dat_sr- возвращает 20160921114157,3 вместо даты 2016-09-21 11:14:15
А какой тип поля у dat?
DATETIME
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39317131
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penumbra, что-то ты явно тщательно скрываешь:
Код: 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.
mysql> CREATE TABLE test(dat DATETIME);
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO test(dat)
    -> SELECT '2016-01-01 00:11:22' UNION ALL
    -> SELECT '2016-01-11 00:22:44' UNION ALL
    -> SELECT '2016-01-21 00:33:00' ;
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT AVG(dat) FROM test;
+---------------------+
| AVG(dat)            |
+---------------------+
| 20160111002222.0000 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT CAST(AVG(dat) AS DATETIME) FROM test;
+----------------------------+
| CAST(AVG(dat) AS DATETIME) |
+----------------------------+
| 2016-01-11 00:22:22        |
+----------------------------+
1 row in set (0.02 sec)
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39317319
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну, черт, у меня так:
Код: 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.
SELECT
  AVG(dates)  as dat, MAX(analog) AS param_sr
FROM
  mtpbd.ind_analog

=======================================================================================================
|                       dat                        |                     param_sr                     |
=======================================================================================================
|                20160921110 402,3                 |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                20160921110 406,8                 |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                20160921110 412,0                 |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                20160921110 417,3                 |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                20160921110 421,8                 |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                20160921110 427,0                 |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                20160921110 432,3                 |                        0,0                       |
-------------------------------------------------------------------------------------------------------

SELECT
  cAST(AVG(dates) AS DATETIME) as dat, MAX(analog) AS param_sr
FROM
  mtpbd.ind_analog
=======================================================================================================
|                       dat                        |                     param_sr                     |
=======================================================================================================
|                       null                       |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                       null                       |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                       null                       |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                       null                       |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                       null                       |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                       null                       |                        0,0                       |
-------------------------------------------------------------------------------------------------------
|                       null                       |                        0,0                       |
-------------------------------------------------------------------------------------------------------
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39317323
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таблица
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE MTPBD.ind_analog(
  id INT (11) NOT NULL AUTO_INCREMENT,
  dates DATETIME DEFAULT NULL,
  analog DOUBLE DEFAULT NULL,
  PRIMARY KEY (id),
  INDEX id USING BTREE (id),
)
ENGINE = MYISAM
AUTO_INCREMENT = 9125257
CHARACTER SET cp1251
COLLATE cp1251_general_ci
PACK_KEYS = 1;
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39317375
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penumbraну, черт, у меня так:
А если один в один те запросы, которые я показал?
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39317468
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaPenumbraну, черт, у меня так:
А если один в один те запросы, которые я показал?
Код: sql
1.
2.
3.
4.
5.
====================================================
|            CAST(AVG(dat) AS DATETIME)            |
====================================================
|                       null                       |
----------------------------------------------------
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39317478
Penumbra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT
  AVG(dat)
FROM
  test
====================================================
|                     AVG(dat)                     |
====================================================
|                20160111002 222,0                 |
----------------------------------------------------


есть подозрения на версию mysql, у меня 5.0.18-nt-max
...
Рейтинг: 0 / 0
Переделать запрос с MSAccess в MySQL
    #39317623
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penumbraесть подозрения на версию mysql, у меня 5.0.18-nt-maxИмхо, стоит обновиться. 10 лет уж прошло, с оригинального сайта даже документацию по этой версии вырезали.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Переделать запрос с MSAccess в MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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