Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] SQL Выбор записей с максимальным значением

Ответить
Настройки темы
Delphi - [решено] SQL Выбор записей с максимальным значением

Старожил


Сообщения: 396
Благодарности: 10

Профиль | Цитировать


Есть таблица вида

id (уникальное поле)****Lastname****Firstname*****Fathername*****id_fl
1******************** Иванов******Иван******** Иванович*******3
2*********************Петров******Петр*********Петрович*******4
3*********************Сидоров*****Сидор********Сидорович*****5
4*********************Иванов******Иван*********Иванович******3
5*********************Петров******Петр**********Петрович*****4
6*********************Сидоров*****Сидор********Сидорович****5
7*********************Петров******Петр*********Петрович*****4
8*********************Иванов******Иван*********Иванович*****3

Нужно отобрать записи с максимальным ID, т.е. в данном примеры записи с id 5,6 и 7.
Помогите пожалуйста.
пишу
Код: Выделить весь код
select id_fl, MAX(id) from NACHISLENIE group by id_fl
отбирает только 2 колонки id_fl и max, если в запрос добавляю еще колонку, то ругается.

Отправлено: 06:50, 12-06-2011

 

Старожил


Сообщения: 295
Благодарности: 30

Профиль | Отправить PM | Цитировать


База данных какая?

Попробуй так.
Код: Выделить весь код
SELECT id, Lastname, Firstname, Fathername, id_fl FROM NACHISLENIE WHERE id>(MAX(id)-3) GROUP BY id_fl;

Отправлено: 10:41, 12-06-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата tarakan1983:
Нужно отобрать записи с максимальным ID »
Цитата tarakan1983:
id (уникальное поле) »
Как при таких условиях, запрос может вернуть :
Цитата tarakan1983:
т.е. в данном примеры записи с id 5,6 и 7 »
Если записи уникальны, максимальное значение - одно!

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 12:26, 12-06-2011 | #3


Старожил


Сообщения: 396
Благодарности: 10

Профиль | Цитировать


LilLoco, ничего не понял...
Цитата Любезный:
База данных какая? »
*.gdb
Цитата:
SELECT id, Lastname, Firstname, Fathername, id_fl FROM NACHISLENIE WHERE id>(MAX(id)-3) GROUP BY id_fl;
ругается на запрос.

Отправлено: 14:15, 12-06-2011 | #4


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата tarakan1983:
ничего не понял... »
В Вашем примере максимальный ID - 8,
Цитата tarakan1983:
с максимальным ID »
и
Цитата tarakan1983:
записи с id 5,6 и 7 »
не совсем сходится...
Цитата tarakan1983:
ругается на запрос. »
ужно чуть изменить его
Цитата tarakan1983:
SELECT id, Lastname, Firstname, Fathername, id_fl FROM NACHISLENIE WHERE id>(SELECT MAX(id) FROM NACHISLENIE - 3) GROUP BY id_fl; »
Но он вернет тоже, не то что Вам нужно...

З.Ы. И вообще из условия не ясно, что Вам нужно...

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 14:22, 12-06-2011 | #5


Старожил


Сообщения: 396
Благодарности: 10

Профиль | Цитировать


Цитата LilLoco:
З.Ы. И вообще из условия не ясно, что Вам нужно... »
Есть таблица Nachislenie, где хранятся все начисления людей, нужно отобрать людей с последними начислениями.

Отправлено: 14:26, 12-06-2011 | #6


Старожил


Сообщения: 295
Благодарности: 30

Профиль | Отправить PM | Цитировать


Что значит "ругается"? Текст ошибки - в студию.

И ещё - версия Interbase/Firebird какая?

Отправлено: 14:28, 12-06-2011 | #7


Старожил


Сообщения: 396
Благодарности: 10

Профиль | Цитировать


Цитата:
Invalid token. Dynamic SQL Error. SQL error code = -104. Cannot use an aggregate function in a WHERE clause, use HAVING instead.
Вот

Отправлено: 14:29, 12-06-2011 | #8


Старожил


Сообщения: 295
Благодарности: 30

Профиль | Отправить PM | Цитировать


Видоизмените, как описано в посте LiLoco. Должно помочь.

Кстати, что значит "с последними начислениями"? Последними по времени? Что за поле id_fl?

Отправлено: 14:30, 12-06-2011 | #9


Старожил


Сообщения: 396
Благодарности: 10

Профиль | Цитировать


Цитата Любезный:
что значит "с последними начислениями"? Последними по времени?»
Да, есть поле с датой начисления, но оно типа varchar.
Цитата Любезный:
Что за поле id_fl? »
это id физического лица из таблицы FL.
Цитата Любезный:
Видоизмените, как описано в посте LiLoco. Должно помочь. »
Ругается на "-3"

Отправлено: 14:52, 12-06-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] SQL Выбор записей с максимальным значением

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 - [решено] выбор сервера для 1C (SQL server) riga_f Windows Server 2008/2008 R2 6 30-08-2010 08:11
[решено] Работа с бинарным значением, как с строкой. SyDr AutoIt 4 30-05-2009 07:30
Как передать параметры из формы с множественным значением koresaram Вебмастеру 3 22-07-2006 13:06
Выбор записей с сортировкой (MySQL) benya Вебмастеру 8 21-06-2006 21:09
Mysql Выбор записей + к каждой count из другой таблицы benya Вебмастеру 11 26-05-2006 18:27




 
Переход