Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Требуется выбрать из таблицы некоторые записи, но только те, у которых значение некоторой колонки максимальное. То есть мне надо такое условие добавить. Подскажите как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:15 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
where колонка = (select max(колонка) from та же таблица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:16 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:29 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
что-то запрос уходит надолго в себя и зависает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:31 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Term2что-то запрос уходит надолго в себя и зависаетКакой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:33 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичTerm2что-то запрос уходит надолго в себя и зависаетКакой? where колонка = (select max(колонка) from та же таблица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:35 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Term2Гавриленко Сергей АлексеевичTerm2что-то запрос уходит надолго в себя и зависаетКакой? where колонка = (select max(колонка) from та же таблица)Прям вот такой вот запрос работать вовсе не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:40 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
совсем расширенный вариант: select id,value,max(s_value) from table1 group by id Выбирает для каждого ID значение value у которого значение s_value максимально, например выбрать максимальные суммы заказов и имена для каждого работника за год будет так: select id,name,max(zakaz_price) where year=2009 from table1 group by id на выходе будет id - имя сотрудника - максимальная стоимость заказа за 2009 год П.С. Пример придуманный - понятно что хранить имена сотрудников в таблице заказов глупо =) П.П.С. Тему нашел случайно через Яндекс, по всем вопросам пишите support@personalmail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 11:43 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Wizetсовсем расширенный вариант: select id,value,max(s_value) from table1 group by id Выбирает для каждого ID значение value у которого значение s_value максимально, например выбрать максимальные суммы заказов и имена для каждого работника за год будет так: select id,name,max(zakaz_price) where year=2009 from table1 group by id на выходе будет id - имя сотрудника - максимальная стоимость заказа за 2009 год П.С. Пример придуманный - понятно что хранить имена сотрудников в таблице заказов глупо =) П.П.С. Тему нашел случайно через Яндекс, по всем вопросам пишите support@personalmail.ruСтарее темы не было? А то и двух лет не прошло. З.Ы. Я уже молчу про то, что ни один из приведенных запросов работать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 11:47 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Поисковику пофиг на возраст, а ответа в тему никто так и не дал. в примере выше - id это не primary key а идентификатор сотрудника, и заранее извиняюсь - не глянул название ветки, писал по mysql - там все запросы работают 100%, только что проверил вот такой запрос select obor_id,cena,max(date_in) from price_change group by obor_id - вывел последние цены по каждому оборудованию по date_in (int, unix timestamp), возможно mssql не поддерживает агрегатные функции в имени поля, нужно проверять.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 12:41 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
WizetПоисковику пофиг на возраст, а ответа в тему никто так и не дал. в примере выше - id это не primary key а идентификатор сотрудника, и заранее извиняюсь - не глянул название ветки, писал по mysql - там все запросы работают 100%, только что проверил вот такой запрос select obor_id,cena,max(date_in) from price_change group by obor_id - вывел последние цены по каждому оборудованию по date_in (int, unix timestamp), возможно mssql не поддерживает агрегатные функции в имени поля, нужно проверять....Для полноты ответа еще надо написать запросы, работающие на оракле, постгри и дб/2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 12:44 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Интересно, и какая же cena возвращается для одного конкретного obor_id ? Минимальная, максимальная, средняя - какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 12:51 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
iapИнтересно, и какая же cena возвращается для одного конкретного obor_id ? Минимальная, максимальная, средняя - какая? Если obor_id первичный ключ - она единственная. мускуль тут отходит от стандарта, в мсскуле надо писать group by obor_id,cena, хотя группировку по цене оптимизатор тут все рано уберет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 12:57 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
iap, а вы правы на 100%, не сортирует.. а тема оказывается глубже чем я думал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 13:19 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
iljyiapИнтересно, и какая же cena возвращается для одного конкретного obor_id ? Минимальная, максимальная, средняя - какая? Если obor_id первичный ключ - она единственная. мускуль тут отходит от стандарта, в мсскуле надо писать group by obor_id,cena, хотя группировку по цене оптимизатор тут все рано уберет.Если obor_id первичный ключ, то глупо его писать в GROUP BY. Ну если только по каким-то веским и очень хитрым причинам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 13:29 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Wizetiap, а вы правы на 100%, не сортирует.. а тема оказывается глубже чем я думал...А где я в этой теме про сортировку говорил? Чего-то не вижу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 13:31 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
iap, вы спрашивали какую цену выводит... в том запросе выводит без сортировки - первую попавшуюся.. и народ не тупите - группировать по первичному ключу это идиотизм, первичный ключ в запросе вообще не фигурирует . obor_id это номер оборудования для которого в дату date_in была установлена цена cena правильный запрос сейчас выглядит так select obor_id,cena from price_change where date_in IN (select max(date_in) from price_change group by obor_id) подзапрос выбирает максимальные (последние) даты для каждого оборудования, а сам запрос находит по этим датам соответвующие строки и выводит в виде таблицы id_оборудования,цена п.с. запрос работает при условии уникальности date_in, в противном случае пришлось бы доставать значения primary_key ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 13:58 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
жаль, но по факту укоротить запрос не удалось, в первых постах уже был дан ответ, правда в урезанной форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 14:03 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Wizetiap, вы спрашивали какую цену выводит... в том запросе выводит без сортировки - первую попавшуюся..Ааа! А я уж было подумал, вычисляет по каким-то определённым правилам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 14:10 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
а для гуру SQL задачка можно ли при использовании неуникальных значений date_in обойтись без двух подзапросов, т.к. получаются уже 3 запроса: выборка date_in, выборка primary_key по первой выборке, выборка нужных колонок по второй выборке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 14:14 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
нет... тут вообще фигня... он первичный ключи по неуникальным значениям не вытащит...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 14:16 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Wizetжаль, но по факту укоротить запрос не удалось, в первых постах уже был дан ответ, правда в урезанной формеWizet Код: plaintext Код: plaintext 1. 2. 2 Код: plaintext 1. 2. 3. 3 Код: plaintext 1. 2. Это имеете в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 14:20 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Нет, №3 - неточен (сам никогда так не делаю). Наверно, так:версия MSSQL >= 9.03 Код: plaintext 1. 2. 3. где id - это PK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 14:25 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
iap, спасибо за перевод между языками ;) а по поводу задачки выше - решить её через временную таблицу можно... но в любом случае не гарантирована уникальность связки obor_id и date_in - так как это не первичные ключи сейчас проверка реализована посредством php перед выводом в браузер, вот думал перенести нагрузку с php на БД, но видно не судьба - а то вылавливай потом ошибки..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 14:29 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
iapЕсли obor_id первичный ключ, то глупо его писать в GROUP BY. Ну если только по каким-то веским и очень хитрым причинам. Например если идет join с другой таблицей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 16:50 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Вопрос аналогичен сабжу, только запрос с использованием group by не подойдет, так как используется внутри CTE (рекурсии). Если конкретнее, то есть таблица с полями: ID, ObjectID, ParentID, Amount, Version. То есть дерево (связанное через ObjectID - ParentID), где для каждого узла есть свой Amount. При его изменении не меняется запись, а добавляется новая запись с инкрементированной версией. При построении дерева используется рекурсивный обход через WITH AS CTE. Если версия одна, то все нормально, а если несколько, то надо брать последнюю, но если ее определять через select max(version), ... group by ..., то выдается ошибка, что нельзя использовать group by внутри CTE. Причем неважно, что этот group by вообще никакого отношения к рекурсии не имеет. Создать View и выбирать поля из него, вместо подзапроса с group by не предлагать, так как не желательно нарушать (добавлять, изменять) структуру таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 05:46 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
я только не понял, а кто мешает до построения рекурсии запросом выбрать в CTE выбрать только актуальные записи, а после по результату этого СТЕ строить второе, рекурсивное с обходом дерева? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 06:31 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 06:36 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхя только не понял, а кто мешает до построения рекурсии запросом выбрать в CTE выбрать только актуальные записи, а после по результату этого СТЕ строить второе, рекурсивное с обходом дерева? Не подскажите, как это можно сделать? Просто, как я понял, рекурсивные запросы должны начинаться со слов WITH и CTE. Собственно, то что вы посоветовали, я и пытаюсь сделать, только видимо синтаксис не тот, так как внутри рекурсии выбираю актуальные записи. Вне ее мне представляется возможным сделать это только через создание view, но в данном случае это не подходит. Ruuushura223, 6603924 Логично представить, что все сообщения в этой теме я прочитал, перед тем как постить в нее вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2014, 13:48 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
shura223, юзабильный репрезентативный набор тестовых данных и желаемый результат на них приводи. сразу увеличится число желающих помочь тебе в решении задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2014, 14:16 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
shura223как я понял, рекурсивные запросы должны начинаться со слов WITH и CTE.Что за чушь? CTE - это просто аббревиатура англоязычного названия этой конструкции в литратуре ( C ommon T able E xpression) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2014, 14:20 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
iapshura223как я понял, рекурсивные запросы должны начинаться со слов WITH и CTE.Что за чушь? CTE - это просто аббревиатура англоязычного названия этой конструкции в литратуре ( C ommon T able E xpression)Ничто не мешает использовать эту аббревиатуру в качестве имени общего табличного выражения. Как и любое другое допустимое слово и даже произвольный набор не более 128 символов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2014, 14:22 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
Добрый день. код примерно такого вида будет по идее: SELECT z.t_ID FROM dHistoryCompGVZ_dbt z, (SELECT MAX (y.t_systime) max_time, MAX (xx.max_) max_date FROM dHistoryCompGVZ_dbt y, (SELECT MAX (x.t_SysDate) max_ FROM dHistoryCompGVZ_dbt x WHERE x.t_IDGVZ = 1) xx WHERE y.t_IDGVZ = 1 AND y.t_sysdate = xx.max_) yy WHERE z.t_IDGVZ = 1 AND z.t_systime = yy.max_time AND z.t_sysdate = yy.max_date; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2019, 16:16 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
pashaspashas, вы пять лет рожали эту несуразность? И это при условии, что правильных ответов сильно больше одного и любой - прямее вашего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2019, 17:57 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
pashaspashasДобрый день. код примерно такого вида будет по идее:Удивительная тема. На вопрос автора дали несколько ответов с интервалом 2-5 лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2019, 17:59 |
|
||
|
Как выбрать записи с максимальными значениями одной колонки?
|
|||
|---|---|---|---|
|
#18+
alexeyvgpashaspashasДобрый день. код примерно такого вида будет по идее:Удивительная тема. На вопрос автора дали несколько ответов с интервалом 2-5 лет.Видимо, хорошо ищется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2019, 18:00 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1687882]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 357ms |

| 0 / 0 |
