Выберите отличный от usercolumn и минимального значения дат каждого поля в usercolumn

1. import UIKit

2.Для соединения delegate и dataSource, щелкните точку и перетащите ее в табличное представление. enter image description here

7
задан gbn 21 June 2009 в 06:32
поделиться

6 ответов

SELECT usercolumn, MIN(datecolumn) FROM tablename GROUP BY usercolumn;

Обратите внимание, что если вам нужны другие столбцы, они должны либо появляться в предложении GROUP BY, либо быть постоянными по строкам. В противном случае результат будет недетерминированным.

26
ответ дан 6 December 2019 в 06:25
поделиться

Это будет работать для SQLServer 2008 и DB2:

with temp as (
    select *, row_number() over (partition by usercolumn order by datecolumn) as rownum
    from table)
select * from temp 
where rownum = 1

Это даст правильные результаты, даже если вам нужно включить несколько столбцов в выборку.

2
ответ дан 6 December 2019 в 06:25
поделиться

Что-то вроде этого должно сработать

    SELECT usercolumn
         , MIN(datecolumn)
      FROM YouTable
     GROUP BY usercolumn
         , MIN(datecolumn)
0
ответ дан 6 December 2019 в 06:25
поделиться

Если у вас больше, чем только эти два столбца, лучший SQL-код для использования немного зависит от того, какой сервер у вас на другом конце этого адаптера OleDB, но вот что-то, что будет хорошо работать со многими (увы, не со всеми!) такими возможными серверами:

SELECT t.*
FROM thetable t
LEFT JOIN thetable taux
  ON(t.usercolumn=taux.usercolumn
     AND t.datecolumn>taux.datecolumn)
WHERE taux.usecolumn IS NULL

, которое можно было бы прочитать как «испускать такие строки таблицы, чтобы не было другой строки таблицы с тем же пользователем и строго менее свидание ". Если минимальная дата для данного пользователя может встречаться несколько раз, это даст столько же строк для этого пользователя - если это проблема для вас, тоже есть решения ... но я буду ждать, пока вы проясните свой вопрос подробнее, прежде чем я продолжу над этим работать! -)

0
ответ дан 6 December 2019 в 06:25
поделиться

вы можете попробовать следующее:

SELECT DISTINCT a.username, a.date
FROM tablename AS a INNER JOIN tablename AS b
ON(a.username = b.username AND a.date < b.date)

Что касается C #, здесь вам не поможет

0
ответ дан 6 December 2019 в 06:25
поделиться

ВЫБЕРИТЕ РАЗЛИЧНОЕ ИМЯ ПОЛЬЗОВАТЕЛЯ, ДАТУ ИЗ ИМЕНИ ТАБЛИЦЫ КАК A ГДЕ A.DATE = (ВЫБЕРИТЕ МИН (ДАТА) ИЗ TABLENAME, ГДЕ USERNAME = A.USERNAME)

0
ответ дан 6 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: