何かやってみるブログ

興味をもったこと、趣味のこと、技術について色々書きます。

[Rails メモ] Deviseでログイン回数とかトラッキング情報を意図的にUpdateしたい場合

レビューしている時に touchメソッド使って current_sign_in_atとかを力技で更新をしているのをみてもっと良い方法がないかと調べて見つけたのでメモに残す。 結論としては Devise::Models::Trackableモジュールの #update_track_fields!を使えば良い。 リポ…

LeetCode Nth Highest Salary を解いてみた

問題 https://leetcode.com/problems/nth-highest-salary/ 解いた CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( # Write your MySQL query statement below. SELECT DISTINCT Salary FROM (SELECT DENSE_RANK() OVER(ORDER BY Sa…

LeetCode Implement strStr()を解いてみた

問題 https://leetcode.com/problems/implement-strstr/ 解いた # @param {String} haystack # @param {String} needle # @return {Integer} def str_str(haystack, needle) return -1 unless haystack.include? needle haystack.index(needle) end 結果

LeetCode department-top-three-salariesを解いてみた

問題 leetcode.com 解いた SELECT Department, Employee, Salary FROM ( SELECT ( SELECT DISTINCT Salary FROM ( SELECT DENSE_RANK() OVER (ORDER BY Salary DESC) AS 'rank', Salary FROM Employee WHERE Employee.departmentId = DD.id) E WHERE E.rank …

LeetCode Department Highest Salaryを解いてみた

問題 https://leetcode.com/problems/department-highest-salary/ 解いた SELECT EED.name AS 'Department', Employee.name AS 'Employee', Employee.salary AS 'Salary' FROM ( SELECT EE.Max, Department.name FROM ( SELECT MAX(salary) AS Max, departme…

LeetCode Merge Two Sorted Listsを解いてみた。

問題 https://leetcode.com/problems/merge-two-sorted-lists/ 解いてみた # Definition for singly-linked list. # class ListNode # attr_accessor :val, :next # def initialize(val = 0, _next = nil) # @val = val # @next = _next # end # end # @para…

LeetCode Consecutive Numbers を解いてみた

問題 https://leetcode.com/problems/consecutive-numbers/ 解いた SELECT L.num AS 'ConsecutiveNums' FROM Logs L, Logs LL, Logs LLL WHERE L.id = LL.id - 1 AND LL.id = LLL.id - 1 AND L.num = LL.num && LL.num = LLL.num GROUP BY L.num; 結果

LeetCode Delete Duplicate Emailsを解いてみた

問題 https://leetcode.com/problems/delete-duplicate-emails/ 解いた DELETE P FROM Person AS P, Person AS PP WHERE P.email = PP.email AND P.ID > PP.id; 結果