Я пытался задать этот вопрос ранее, но модераторы закрыли вопрос, сославшись на то, что он неясен. Надеюсь, на этот раз я проясню.
У меня есть таблица услуг с до 1000 услуг. В таблице есть столбец id & service_title. Итак, я в основном хочу получить 10 услуг для каждого алфавита, начиная с A до Z. Если есть менее 10 элементов, начинающихся с любого конкретного алфавита, то я хочу получить их все. Также я хочу, чтобы они были в алфавитном порядке, если это возможно.
Вот моя таблица услуг.
![enter image description here](https://i.stack.imgur.com/I2wFD.png)
Так что моя выходная таблица должна выглядеть примерно так тот, который показан ниже. Для простоты я показал 2 сервиса, начиная с каждого алфавита от A до J.
<table border="1">
<caption>Services</caption>
<thead>
<tr>
<th>id</th>
<th>name</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Auditing</td>
</tr>
<tr>
<td>2</td>
<td>Accounting</td>
</tr>
<tr>
<td>3</td>
<td>Brick laying</td>
</tr>
<tr>
<td>4</td>
<td>Builders</td>
</tr>
<tr>
<td>5</td>
<td>Carpet Cleaning</td>
</tr>
<tr>
<td>6</td>
<td>Carpenters</td>
</tr>
<tr>
<td>7</td>
<td>Demolition</td>
</tr>
<tr>
<td>8</td>
<td>Dog Walking</td>
</tr>
<tr>
<td>9</td>
<td>Electrician</td>
</tr>
<tr>
<td>10</td>
<td>Equipment Hire</td>
</tr>
<tr>
<td>11</td>
<td>Fencing & Gates</td>
</tr>
<tr>
<td>12</td>
<td>Fright Services</td>
</tr>
<tr>
<td>13</td>
<td>Gardeners</td>
</tr>
<tr>
<td>14</td>
<td>Gate keepers</td>
</tr>
<tr>
<td>15</td>
<td>Handyman</td>
</tr>
<tr>
<td>16</td>
<td>Health service</td>
</tr>
<tr>
<td>17</td>
<td>Interview Trainer</td>
</tr>
<tr>
<td>18</td>
<td>Iterpersonal Relationship Coach</td>
</tr>
<tr>
<td>19</td>
<td>Joinery Experts</td>
</tr>
<tr>
<td>20</td>
<td>Jacket Maker</td>
</tr>
</tbody>
</table>
Вот код, который я придумал до сих пор
SELECT *
FROM (
SELECT id, service_title,
@count := IF(@value = service_title, @count + 1, 1) AS count
FROM services, (SELECT @count := 1, @value := NULL) a
WHERE services.service_title REGEXP '^[A-z]+$'
) a
WHERE a.count <= 10
Order by service_title
В моей таблице выходных данных я перечислил некоторые службы, которых нет в списке в образцах элементов на изображении таблицы, пожалуйста, не поднимайте это как проблему, так как я не могу отобразить все элементы на образце таблицы.