반응형

Database 81

SQL Server-릿코드 데이터베이스 Trips and Users / Cancellation rate

여정에 대한 기록을 하는 테이블과 유저에 대한 테이블이 있다. User가 client가 될 수도 있고, driver가 될 수도 있다. 문제: 그 날의 Ban되지 않은 유저가 요청한 Canceled인 상태의 Trip에 총 Trip 횟수를 나누어 표시하라. Trip에서 client와 driver 양쪽이 다 ban이 되지 않고 2013-10-01에서 2013-10-03 사이의 Trip으로 소숫점 2번째 자리의 취소율을 구하면 된다. The cancellation rate is computed by dividing the number of canceled (by client or driver) requests with unbanned users by the total number of requests with ..

Database/SQL Server 2022.08.25

SQL Server - 릿코드 데이터베이스 문제 177. Nth Highest Salary // Leetcode Database Problem

177. Nth Highest Salary 이번에도 하나의 테이블이 주어진다. Write an SQL query to report the nth highest salary from the Employee table. If there is no nth highest salary, the query should report null. n번째로 높은 샐러리를 뽑는 SQL 쿼리를 작성하시오. 만약 n번째 높은 샐러리가 없다면 null값을 리턴하시오. 예시, 풀이, Input Parameter가 있으니 Function으로 만들어야 한다. 틀은 이미 주어져 있다. CREATE FUNCTION getNthHighestSalary(@N INT) RETURNS INT AS BEGIN RETURN ( /* Write yo..

Database/SQL Server 2022.07.27

SQL Server - 릿코드 데이터베이스 문제 176. Second Highest Salary // Leetcode Database Problem

176. Second Highest Salary Second Highest Salary - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이번엔 테이블이 하나가 주어진다. 문제는, Write an SQL query to report the second highest salary from the Employee table. If there is no second highest salary, the query should report null. Employee 테이..

Database/SQL Server 2022.07.27

SQL Server - 릿코드 데이터베이스 문제 175. Combine Two Tables //Leetcode Database Problem

175. Combine Two Tables 두개의 테이블이 주어진다. Person, Address .여기서 문제는 Write an SQL query to report the first name, last name, city, and state of each person in the Person table. If the address of a personId is not present in the Address table, report null instead. Return the result table in any order. The query result format is in the following example. 해석하면, Person 테이블에 있는 각 사람의 이름과 성, 사는 도시, 사는 주를 S..

Database/SQL Server 2022.07.27

SQL Server - MS SQL - 기초 교육 자료 - 데이터 타입

정확한 숫자 Exact numerics Type Range Storage bigint -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) 8 Bytes int -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) 4 Bytes smallint -2^15 (-32,768) to 2^15-1 (32,767) 2 Bytes tinyint 0 to 255 1 Byte 대략의 숫자 Approximate numerics Type Range Storage float - 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308 Depends on the value of..

Database/SQL Server 2022.04.05

SQL Server, MS SQL - 트리거 성능 통계 보기 , Aggregate performance statistics for cached triggers.

--이거 그대로 붙여 넣으면 됨 SELECT TOP 5 d.object_id, d.database_id, DB_NAME(database_id) AS 'database_name', OBJECT_NAME(object_id, database_id) AS 'trigger_name', d.cached_time, d.last_execution_time, d.total_elapsed_time, d.total_elapsed_time/d.execution_count AS [avg_elapsed_time], d.last_elapsed_time, d.execution_count FROM sys.dm_exec_trigger_stats AS d ORDER BY [total_worker_time] DESC; Column name..

Database/SQL Server 2022.03.11

MS SQL, SQL Server - 스칼라 반환 함수 권한 허용 grant scalar valued function

SQL query를 요청하여 만들어 전달하였는데 당연하게 쓰고 있던 저장된 함수들이 다른 유저에게는 작동이 안되었다. Execute Permission was denied 같은 에러가 떴고, 아래의 명령어로 풀어주었다. Grant [뭐에 대한-execute, select] on [함수이름] to [누구에게, 유저 아이디] GRANT EXECUTE on dbo.getLocalTime() TO public GRANT EXECUTE on dbo.getLocalTime() TO [Grace.Ha] GRANT EXECUTE on dbo.getLocalTime() TO [Admin] GRANT EXECUTE on dbo.getLocalTime() TO [IT] 그 뒤에 한번 더 에러가 생겼다. Error Messa..

Database/SQL Server 2022.03.11

MSSQL - SQL Server - SSMS 데이터베이스 용량, 테이블 당 건수 확인하기, 테이블당 데이터 개수 확인

--먼저 건수 Database에 있는 테이블당 건수 확인하기 select o.name, i.rows from sysindexes i inner join sysobjects o on i.id = o.id where i.indid < 2 and o.xtype = 'U' order by i.rows desc -- 테이블당 용량 확인하기 select convert(varchar(30), min(o.name)) as table_name, ltrim(str(sum(reserved) * 8192.00 / 1024.00 / 1024.00, 15, 0) + ' MB') as table_size from sysindexes i inner join sysobjects o on o.id = i.id where i.indid ..

Database/SQL Server 2022.01.26

SQL Server - 달력 만들기 Calendar project

그냥 숫자만 있는 테이블 Copy_t. 그냥 1부터 999까지 있는 테이블을 사용하여 '202101' 숫자 여섯개 조건을 넣었을 때에 그 달 달력이 나오게 하는 쿼리를 만들어보려 했다. 나는 copy_t의 숫자들을 date의 day로 활용하였다. data_type변경 하는 데에 많은 함수가 쓰여졌다. 이전의 달력만들기 포스팅한 것과 차이점이 있는데 이전의 달력만들기에서는 1월달 달력이면 1월달만 표시 되었는데 여기서 만들려고 한 것은 1월달 달력이지만 전년도 12월의 마지막날들이 빈칸에 들어있고 1월 마지막 날 뒤에 다음달 2월의 처음 날짜들이 나오는 것이다. CREATE TABLE #CALENDER01 (ID INT IDENTITY(1,1) PRIMARY KEY, YEAR INT, MONTH INT, ..

Database/SQL Server 2021.01.19

SQL Server - 달력 만들기

202001 이렇게 6글자의 조건을 입력 받으면 그 달이 표시되는 쿼리문. CTE(Common Table Expression)로 우선 이런 결과가 나오게 한다음 CTE를 재가공하여 이러한 달력이 나오게 한다. DECLARE @INPUT_DATE VARCHAR(6) , @WK VARCHAR(2) SET @INPUT_DATE = '202101' DECLARE @FORMATED_INPUT_DATE VARCHAR(8) = @INPUT_DATE + '01'; WITH CTE_DATE AS ( SELECT DATEDIFF(WK, @FORMATED_INPUT_DATE, DATEADD(D, CP.NUM-1, @FORMATED_INPUT_DATE)) [WEEK], DATEPART(MM, @FORMATED_INPUT_DA..

Database/SQL Server 2021.01.08
반응형