2013-11-18 2 views
0

Я запутался в инструкции sql и мне нужна ваша помощь.Извлечь последний идентификатор, где столбец равен строке

Ниже моя таблица под названием (tblfood) Содержание:

ID Food_Name   Main_Ingredient Drink 
1 Ham n Coke   Ham    Coke 
2 Cheese n Tea  Cheese   Ice Tea 
3 Ham n Coke   Ham    Coke 
4 Ham n Coke   Ham    Coke 
5 Chicken Sandwich Chicken   None 
6 Chicken Sandwich Chicken   None 
7 Cheese n Tea  Cheese   Ice Tea 
8 Chicken n Coke  Chicken   Coke 
9 Chicken Sandwich Chicken   None 
10 Cheese n Tea  Cheese   Ice Tea 

Я хочу, чтобы получить ID из последнего введенного Food_Name с Chicken Sandwich, что 10. И если я получаю последний введенный Food_Name с Chicken n Coke, он будет отображать 9.

Моя первая попытка выглядит следующим образом:

Select id 
from tblfood 
where Food_Name='Chicken Sandwich'; 

Но с этим кодом я считаю, что он отобразит все идентификаторы, где Food_Name будет равняться куриному сэндвичу.

Как отобразить только последний введенный идентификатор?

+5

Как насчет сделать попытку? Лучший способ учиться - это делать. –

+0

Является ли 'ID' полем автоинкремента или вводится вручную? Если он вводится вручную, невозможно узнать последовательность, в которой данные были введены в таблицу. – unlimit

+0

@MitchWheat обновлен! Спасибо – Sarah

ответ

1

Как об этом, выбирая максимальный идентификатор учитывая, что вы хотите, один идентификатор не кратен, если вы хотите множественными вы должны полагаться на ОКВЕК В решения.

SELECT MAX(id) 
FROM tblfood 
WHERE Food_Name='Chicken Sandwich'; 
+1

Спасибо! Это тоже работает. Еще раз спасибо. – Sarah

1
SELECT ID 
FROM tblfood 
WHERE Food_Name = 'Chicken Sandwich' 
ORDER BY ID DESC 
LIMIT 1 
+0

Вау, спасибо за это. :) – Sarah

+0

Я только что редактировал мой пост) –

1
SELECT id 
FROM tblfood 
WHERE Food_Name='Chicken Sandwich' 
ORDER BY id desc limit 1; 
0

пожалуйста, попробуйте

SELECT TOP 1 * 
FROM tblfood 
WHERE Food_Name='Chicken Sandwich' 
ORDER BY ID DESC 
0
  1. Включить Задан введенную поле в таблице базы данных, как «DateOfEntry»
  2. В вашем оператора выбора выберите Максом меткой времени, которое дало бы вам последнюю запись.

Select id from tblfood where Food_Name='Chicken Sandwich' and dateofentry in(select max(dateofentry) from tblfood) ';

Смежные вопросы