1. import UIKit
2.Для соединения delegate
и dataSource
, щелкните точку и перетащите ее в табличное представление.
SELECT usercolumn, MIN(datecolumn) FROM tablename GROUP BY usercolumn;
Обратите внимание, что если вам нужны другие столбцы, они должны либо появляться в предложении GROUP BY, либо быть постоянными по строкам. В противном случае результат будет недетерминированным.
Это будет работать для 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
Это даст правильные результаты, даже если вам нужно включить несколько столбцов в выборку.
Что-то вроде этого должно сработать
SELECT usercolumn
, MIN(datecolumn)
FROM YouTable
GROUP BY usercolumn
, MIN(datecolumn)
Если у вас больше, чем только эти два столбца, лучший 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
, которое можно было бы прочитать как «испускать такие строки таблицы, чтобы не было другой строки таблицы с тем же пользователем и строго менее свидание ". Если минимальная дата для данного пользователя может встречаться несколько раз, это даст столько же строк для этого пользователя - если это проблема для вас, тоже есть решения ... но я буду ждать, пока вы проясните свой вопрос подробнее, прежде чем я продолжу над этим работать! -)
вы можете попробовать следующее:
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 #, здесь вам не поможет
ВЫБЕРИТЕ РАЗЛИЧНОЕ ИМЯ ПОЛЬЗОВАТЕЛЯ, ДАТУ ИЗ ИМЕНИ ТАБЛИЦЫ КАК A ГДЕ A.DATE = (ВЫБЕРИТЕ МИН (ДАТА) ИЗ TABLENAME, ГДЕ USERNAME = A.USERNAME)