SELECT LEFT(`name`, 1) `abc`, `id`, `name` FROM `persons` ORDER BY `name` ASC;
$data = [
['abc' => 'а', 'id' => 1, 'name' => 'Абрамов Михаил Фёдорович'],
['abc' => 'а', 'id' => 2, 'name' => 'Агутин Юрий Николаевич'],
['abc' => 'б', 'id' => 4, 'name' => 'Баринов Олег Юрьевич'],
];
$alphabet = [];
foreach ($data as $row){
$alphabet[$row['abc']][$row['id']] = $row['name'];
}
$alphabet = [
'а' => [
1 => 'Абрамов Михаил Фёдорович',
2 => 'Агутин Юрий Николаевич',
],
'б' => [
4 => 'Баринов Олег Юрьевич',
],
];
foreach($alphabet as $alpha => $rows){
echo '<h2>'.$alpha.'</h2>';
echo '<ul>';
foreach ($rows as $id => $name){
echo '<li><a href="/person?id='.$id.'">'.$name.'</a></li>';
}
echo '</ul>';
}
`cities`
:id | name
`vilages`
:id | city_id | name
`areas`
:id | vilage_id | coordinates | photo
`persons`
:id | area_id | firstname | lastname | etc...
`city_id`
указывает на таблицу `cities`
, `vilage_id`
на таблицу `vilages`
и т.д. SELECT A.ID, A.post_title, B.id
FROM wp_posts A
INNER JOIN wp_postmeta B
ON B.post_id = A.id
WHERE A.post_type = 'points'
AND A.post_status = 'publish'
AND A>meta_key = 'pointmap';
SELECT `query`.*, (`pos_from`.`created_at` - `pos_to`.`created_at`) `pos_result_date`, FROM `query`
LEFT JOIN `query_position` `pos_from` ON (`query`.`query_id` = `pos_from`.`query_id`) AND (DATE_FORMAT(`pos_from`.`created_at`, '%d-%m-%Y') = '07-06-2017')
LEFT JOIN `query_position` `pos_to` ON (`query`.`query_id` = `pos_to`.`query_id`) AND (DATE_FORMAT(`pos_to`.`created_at`, '%d-%m-%Y') = '10-06-2017')
GROUP BY `query`.`query_id`
Как сделать сортировку по возрастанию/убыванию знаю
$results = $wpdb->get_results("
SELECT *, DAYOFMONTH(`event_date`) `event_day`, MONTH(`event_date`) `event_month`
FROM `wp_calendar`
WHERE DATE(`event_date`) >= CURDATE()
ORDER BY `event_date` ASC
");
$monthes = [
1 => 'Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня',
'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря',
];
foreach ($results as $result) {
echo '<li>'.$result->event_day.' '.$monthes[$result->event_month].'
<div class="item">
<h3><a href="#">'.$result->event_title.'</a></h3>
<div class="anons">'.($result->event_desc ?: ' ').'</div>
</div>
</li>';
}