Переделать запрос с MS SQL на MySQL
Формулировка задачи:
Здравствуй всяк вошедший.
Нужно переделать запрос MS SQL на MySQL.
Подробные условия задачи:
Выбрать все строки с разными значениями столбца
Поможет кто?
ориентируясь только на условия
Выбрать все строки с разными значениями столбца
Остальное сам допилю.
select top(1) with ties c.StationId, c.DeviceNumber, c.ArchiveType, d.TimeValue from Channels c join Data d on c.id = d.channelId where c.StationID in (1502) and d.TimeValue between '20160101 16:58' and '20160203 17:04' and c.ArchiveType = 1 order by row_number()over(partition by convert(char(13),d.timeValue,126) order by d.timeValue);
Неужели никто не знает как?
Можно переделать запрос попроще:
SELECT TOP(1) WITH TIES * FROM T ORDER BY ROW_NUMBER()OVER(PARTITION BY CONVERT(CHAR(13),[time],126) ORDER BY [time]);
Решение задачи: «Переделать запрос с MS SQL на MySQL»
textual
Листинг программы
SELECT * FROM `testdate` GROUP BY FLOOR(UNIX_TIMESTAMP(`time`)/3600);
Объяснение кода листинга программы
В данном коде выполняется запрос на выборку данных из таблицы testdate
, затем результаты группируются по времени, определенному как целочисленное значение, полученное путем деления UNIX_TIMESTAMP на 3600.
SELECT * FROM
testdateGROUP BY FLOOR(UNIX_TIMESTAMP(
time)/3600);
*
означает, что выбираются все столбцы из таблицыtestdate
testdate
- название таблицы, из которой производится выборкаGROUP BY FLOOR(UNIX_TIMESTAMP(
time)/3600);
группирует результаты по времени, определенному как целочисленное значение, полученное путем деления UNIX_TIMESTAMP на 3600.FLOOR(UNIX_TIMESTAMP(
time)/3600);
преобразует время в целочисленное значение, полученное путем деления UNIX_TIMESTAMP на 3600.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д