Получить третью последнюю запись о сортировке sql по дате в codeigniterPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Получить третью последнюю запись о сортировке sql по дате в codeigniter

Сообщение Anonymous »


я пытаюсь выбрать третью по дате запись товара из таблицы продаж

Для этого я погуглил «обычный» sql. думаю, будет так

выберите sales.DATENAME(месяц, DATEADD (месяц, @mydate-1, CAST('2008-01-01' AS datetime))), sales.itemid, sales.itemname from (выберите * FROM sales Упорядочить по дате продажи DESC LIMIT 2) AS x Упорядочить по дате продажи LIMIT 1 ГДЕ itemid = $input в любом случае, это мой стол

нет Salesid имя элемента itemid ---------------------------------- 1 02.01.2018 А 100 2 05.01.2018 А 100 3 04.01.2018 А 100 4 01.01.2018 Б 400 5 01.01.2018 А 100 6 07.01.2018 Б 400 7 07.01.2018 А 100 8 11.01.2018 А 100 9 09.01.2018 Б 400 10 08.01.2018 А 100 11 08.01.2018 Б 400 после сортировки по дате и идентификатору

нет Salesid имя элемента itemid ---------------------------------- 5 01.01.2018 А 100 1 02.01.2018 А 100 3 04.01.2018 А 100 2 05.01.2018 А 100 7 07.01.2018 А 100 10 08.01.2018 А 100 8 11.01.2018 А 100 то есть результатом будет седьмая запись, если $input = 100

я пробовал

$this->db->select('sales.DATENAME(month,DATEADD(month, @mydate-1,CAST(\'2008-01-01\' AS datetime))),sales. itemid,sales.itemname') ->from('(выберите * ИЗ продаж ORDER BY salesdate DESC LIMIT 2) AS x') ->order_by('дата продажи ASC') -> лимит(1) ->where('itemid', '$input', FALSE) -> получить(); вот мой контроллер

публичная функция result() { $данные = [ 'data'=>$this->mresult->resultt()->row() ]; $this->load->view('vresult',$data); } и что я хочу показать на vresult.php

Идентификатор элемента = Имя элемента = Дата продажи = или будет так, если $input = 100

Идентификатор элемента = 100 Имя предмета = А Месяц продаж = июнь сообщение об ошибке

Номер ошибки: 1054 Неизвестный столбец «100» в пункте «where». SELECT * FROM (SELECT * FROM sales ORDER BY salesdate DESC LIMIT 3) AS x WHERE salesid = 100 ORDER BY `salesdate` ASC LIMIT 1 Имя файла: C:/.../DB_driver.php Номер строки: 692 я использую '*', так как очевидно, что DATENAME не работает в MySQL

Я новичок в этом, пожалуйста, будьте добры ко мне. спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»