Intereting Posts
Настройки плагина по умолчанию Не записывать в базу данных Получать количество сообщений на данной странице Показывать представленные значения в форме, когда проверка не выполняется Исключить первое «n» количество сообщений тега с домашней страницы? где я могу найти страницу входа в WordPress и добавить в нее свой заголовок Как публиковать страницу, которая не может быть обнаружена поисковыми системами? Последнее сообщение, упорядоченное по дате публикации, используя WP_Query на главной странице Многоязычные постоянные ссылки для установки вложенных папок Получение значения метаболизма? Заказ по нескольким мета-ключам и метазначению Крюк для создания динамической карты сайта с плагином «Все в одном SEO-пакете» Плагин генерировал х символов неожиданного вывода, $ wpdb не определен Пользовательская структура константной ссылки для пользовательских результатов типа сообщения в 404 API в цифрах? Удаление запроса таксономии с помощью pre_get_posts

Выберите две суммы с одним выражением get_var

Я пытаюсь сделать следующее

global $wpdb; $sum = $wpdb->get_var("select sum(first), sum(second) from table where id > 1"); 

Я не могу получить значения из каждого запроса. я пытался

 echo $test->sum(first); 

Я попытался изменить инструкцию sql для включения AS

  $sum = $wpdb->get_var("select sum(first) as firstRequest, sum(second) as secondRequestfrom table where id > 1"); echo $test['firstRequest']; 

Я пробовал заявление foreach

 foreach($test as $tester){ echo $tester['sum(first')]; } 

а также

 foreach($test as $tester){ echo $tester['firstRequest']; } 

Как я могу получить сумму нескольких строк из одного оператора get_var ? Если это невозможно, и мне нужна сумма из 5 разных строк, мне нужно было бы создать 5 отдельных операторов get_var ? Будет ли это уменьшать скорость запросов, если это так, это даже заметно?

Solutions Collecting From Web of "Выберите две суммы с одним выражением get_var"

$wpdb->get_var будет делать то, что предлагает название – вернуть одно значение. Итак, это:

 $sum = $wpdb->get_var("select sum(first), sum(second) from sums_test where id > 1"); var_dump($sum); 

Вернет результат sum(first) . Остальная часть результата утеряна (хотя я уверен, что кэширован).

Вы хотите метод get_row который вернет полную строку результатов.

 $sum = $wpdb->get_row("select sum(first) as first_sum, sum(second) as second_sum from sums_test where id > 1"); var_dump($sum); 

Я также добавил предложения AS чтобы упростить использование данных в PHP. Теперь вы можете получить свои результаты с помощью $sum->first_sum) , $sum->second_sum и т. Д. Для тех, которые вы извлекаете, или можете использовать что-то более динамичное, например:

 foreach ($sum as $k=>$v) { echo $k.' -> '.$v.'<br>'; }