본문 바로가기

데이터47

[MySQL] Order by 구문으로 숫자가 정렬되지 않을 때 정수타입(int)의 데이터를 정렬할 때, order by 구문을 써도 컬럼이 정렬되지 않을 때가 있다. 해당 컬럼이 숫자로만 이루어져있다고 해도 데이터 형식이 varchar, 혹은 다른 형식이기 때문이다. 당연히 가격 컬럼은 int 타입일거라 생각했는데, 확인해보니 varchar 타입이었다. 두 가지 해결 방법이 있다. ① CAST 함수를 사용해 타입을 명시적으로 바꿔주는 방법 SELECT id, product_name, unit, price FROM product ORDER BY CAST(price AS INT) ASC; CAST함수를 사용해 형변환을 해주는데 INT 뿐만 아니라 FLOAT 도 된다. ② 묵시적 형변환 SELECT id, product_name, unit, price FROM produ.. 2022. 11. 16.
Weather Observation Station 18 Consider and to be two points on a 2D plane. happens to equal the minimum value in Northern Latitude (LAT_N in STATION). happens to equal the minimum value in Western Longitude (LONG_W in STATION). happens to equal the maximum value in Northern Latitude (LAT_N in STATION). happens to equal the maximum value in Western Longitude (LONG_W in STATION). Query the Manhattan Distance between points and.. 2022. 11. 15.
HackerRank SQL - Type of Triangle Write a query identifying the type of each record in the TRIANGLES table using its three side lengths. Output one of the following statements for each record in the table: Equilateral: It's a triangle with sides of equal length. Isosceles: It's a triangle with sides of equal length. Scalene: It's a triangle with sides of differing lengths. Not A Triangle: The given values of A, B, and C don't fo.. 2022. 11. 15.
HackerRank SQL - Higher Than 75 Marks Query the Name of any student in STUDENTS who scored higher than Marks. Order your output by the last three characters of each name. If two or more students both have names ending in the same last three characters (i.e.: Bobby, Robby, etc.), secondary sort them by ascending ID. Input Format The STUDENTS table is described as follows: The Name column only contains uppercase (A-Z) and lowercase (a.. 2022. 11. 1.
HackerRank SQL - The Blunder Samantha was tasked with calculating the average monthly salaries for all employees in the EMPLOYEES table, but did not realize her keyboard's key was broken until after completing the calculation. She wants your help finding the difference between her miscalculation (using salaries with any zeros removed), and the actual average salary. Write a query calculating the amount of error (i.e.: avera.. 2022. 11. 1.
[MySQL] 정규 표현식(instr(), like(), replace(), substr()) 정규 표현식이란 정규식 또는 정규 표현식은 문자열에서 일치하는 패턴을 찾아내는 데 쓰이는 형식 언어이다. 정규식에 대한 자세한 내용은 나중에 따로 정리해두겠지만, SQL에서도 쓸 수 있기에 함수만 아래와 같이 정리했다. 정규식 함수 및 연산자 NOT REGEXP 정규식의 부정 REGEXP 문자열이 정규식과 일치하는지 여부 REGEXP_INSTR() 정규식과 일치하는 부분의 문자열의 시작 인덱스 REGEXP_LIKE() 문자열이 정규식과 일치하는지 여부 REGEXP_REPLACE() 문자열이 정규식과 일치하는 부분을 바꾸기 REGEXP_SUBSTR() 문자열이 정규식과 일치하는 부분을 반환 RLIKE 문자열이 정규식과 일치하는지 여부 출처: https://dev.mysql.com/doc/refman/8.0.. 2022. 10. 31.
[MySQL] 없는 시간 표시하기(재귀적 CTE) 시계열(Time Series) 데이터가 아닌 경우 시계열 형태로 시각화를 할 때, 해당 범위에 데이터가 없는 경우 그래프가 아예 누락되게 된다. 이 경우 시각적으로 직관적이지도 않고, 그래서 해석하는데 시간이 더 걸리게 된다. 없는 숫자(e.g. 시간, 분 등) 표시하기 표기가 안되는 값을 강제로 출력하게 하여 없는 항목을 출력하게 만들 수 있다. WITH RECURSIVE my_cte AS ( SELECT 1 AS n UNION ALL SELECT 1+n FROM my_cte WHERE n 2022. 10. 26.
[MySQL] HackerRank SQL - Weather Observation Station 10 Problem Query the list of CITY names from STATION that do not end with vowels. Your result cannot contain duplicates. Input Format The STATION table is described as follows: where LAT_N is the northern latitude and LONG_W is the western longitude. STATION의 테이블에서 모음으로 끝나지 않는 CITY명만 출력하라. 단, 중복은 제외하라. Answer1 SELECT CITY FROM STATION WHERE RIGHT(CITY,1) NOT IN ('a','e','i','o','u') GROUP BY CITY H.. 2022. 10. 20.