У меня есть таблица, которая выглядит следующим образом:Split столбец в определенном диапазоне в MYSQL
+-----------------------
| id | first_name
+-----------------------
| AC0089 | John |
| AC0015 | Dan |
| AC0017 | Marry |
| AC0003 | Andy |
| AC0001 | Trent |
| AC0006 | Smith |
+-----------------------
Мне нужен запрос, чтобы разделить идентификатор в диапазоне 3, а также отображать начальный идентификатор этого диапазона т.е.
+------------+----------+--------
| startrange | endrange | id
+------------+----------+--------
| 1 | 3 | AC0089
| 4 | 6 | AC0003
+------------+----------+--------
Я довольно новый для SQL и пытаемся ниже запрос, но я не думаю, что я нахожусь рядом с правильным решением на всех! Вот запрос:
select startrange, endrange, id from table inner join (select 1 startRange, 3 endrange union all select 4 startRange, 6 endRange) r group by r.startRange, r.endRange;
Это дает тот же идентификатор каждый день и я не могу придумать любое другое решение. Как я могу получить требуемый результат?
startrange mod 3 = 0 возвращает результат (mod 3 = 1 возвращает пустой набор). Более того, startrange и endrange отображают отрицательные значения. например, для 150 записей - от -150 до -148. Не могли бы вы продолжить просмотр и изменение своего ответа? – ani0710
, работающий для меня, проверяет http://sqlfiddle.com/#!2/8e4e4/1 –
«select count (*) from» запрос должен соответствовать вашим основным критериям выбора. –