MySQL - как получить вхождение в MySQL

Методы расширения - это в основном просто статические методы, поэтому я не знаю, как их переопределить, но если вы просто поместите их в другое пространство имен, вы можете позвонить вместо них, вместо того, который хотите заменить.

Но Мэтт Манела рассказывает о том, как методы экземпляра имеют приоритет над методами расширения: http://social.msdn.microsoft.com/forums/en-US/csharplanguage/thread/e42f1511-39e7-4fed-9e56- 0cc19c00d33d

Для получения дополнительных идей о методах расширения вы можете посмотреть http://gen5.info/q/2008/07/03/extension-methods-nulls-namespaces-and -precedence-in-c /

Редактирование: я забыл о проблеме двусмысленности, поэтому лучше всего попытаться не включать методы расширения, которые вы хотите заменить. Таким образом, вам может понадобиться не использовать директиву «using», а просто поместить в полное имя пакета некоторые классы, и это может решить проблему.

5
задан Dev911 13 July 2018 в 06:04
поделиться

1 ответ

Я не знаю, планируете ли вы, чтобы столбец occurrence появлялся в результирующем наборе. Предполагая, что вы этого не сделаете, вам просто нужно предложение ORDER BY. Предполагая, что вы делаете , нам нужно больше работать. Один простой подход - использовать коррелированный подзапрос, чтобы найти номер события:

SELECT
    idlogin_details,
    emp_id,
    date,
    (SELECT COUNT(*) FROM login_details t2
     WHERE t1.emp_id = t2.emp_id AND t2.date <= t1.date) occurrence
FROM login_details t1
ORDER BY
    emp_id, date;

Демо

4
ответ дан Tim Biegeleisen 17 August 2018 в 13:37
поделиться
  • 1
    Подготовлено demo , я думаю, вы могли бы использовать его – M Khalid Junaid 13 July 2018 в 06:07
  • 2
    @MKhalidJunaid Спасибо. Я уже работал над тестовой демонстрацией, когда вы прокомментировали :-) – Tim Biegeleisen 13 July 2018 в 06:09
Другие вопросы по тегам:

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