TIL

2024-06-02

여연찌 2024. 6. 2. 14:32

SQL Challenge 1회차

 

 

SUBSTRING_INDEX(문자열,구분자,구분자INDEX)

SPLIT 처럼 인덱스로 구분을 하는 것인줄 알았는데 그게 아니라

구분자의 인덱스를 보는 것이었다..

 

SELECT SUBSTRING_INDEX('피카츄.라이츄.파이리','.',1)
>> 피카츄
SELECT SUBSTRING_INDEX('피카츄.라이츄.파이리','.',2)
>> 피카츄.라이츄
SELECT SUBSTRING_INDEX('피카츄.라이츄.파이리','.',3)
>> 피카츄.라이츄.파이리
SELECT SUBSTRING_INDEX('피카츄.라이츄.파이리','.',-1)
>> 파이리
SELECT SUBSTRING_INDEX('피카츄.라이츄.파이리','.',-2)
>> 라이츄.파이리

구분자 INDEX 를 2로 하게 되면 구분자 '.'  의 2번째 값을 구하라가 됨

 

* 중간의 라이츄가 사용하고 싶다면

SUBSTRING_INDEX 를 중첩하여 사용하면 된다.

SUBSTRING_INDEX(SUBSTRING_INDEX('피카츄.라이츄.파이리','.'2),'.',-1)
>> 라이츄

 

 

소수점 올림

CEILING(2.77)

>> 3

 

소수점 내림

FLOOR(2.77)

>> 2

 

 

NOW()

SYSDATE()

CURRENT_TIMESTAMP()

현재시간과 날짜를 출력

 

DATE_ADD

: 날짜에서 기준값 만큼 덧셈하여 출력

DATE_SUB

: 날짜에서 기준값 만큼 뺄셈하여 출력

 

*기준값: YEAR, MONTH, DAY, HOUR, MINUTE,SECOND

SELECT DATE_ADD(SYSDATE(), INTERVAL 1 DAY)
>> 2024-06-03 03:13:23
SELECT DATE_SUB(NOW(), INTERVAL 2 MONTH)
>> 2024-04-02 03:14:09

DATEDIFF

: 두 날짜를 뺄셈하여 출력

 

 

 

 

 

Python 대시보드 

# 구매빈도 파이차트
piedf= df2.groupby('Frequency of Purchases')['Customer ID'].count().reset_index()
plt.pie(
    x=piedf['Customer ID'],
    labels=piedf['Frequency of Purchases'],
    autopct='%1.1f%%'
    )
plt.title("Frequency of Purchases")

# 시즌별, 성별별 유저카운트 누적
d2=df2.groupby(['Season','Gender'])['Customer ID'].count().unstack(1)
dplot2=d2.plot(kind='bar',stacked=True)
plt.title('Gender - Season')
plt.xlabel('Season')
plt.ylabel('usercnt')

# 시즌별 유저카운트
d3=df2.groupby('Season')['Customer ID'].count().reset_index()
x=d3['Season']
y=d3['Customer ID']
plt.plot(x,y,color='red',marker='s',alpha=0.5,linewidth=2,linestyle='--')
plt.ylim([900,1050])
plt.title('group by season - user cnt')
plt.xlabel('season')
plt.ylabel('usercnt')

 

# 배송유형별 유저카운트
d4=df2.groupby(['Shipping Type','Gender'])['Customer ID'].count().unstack(1)
dplot4=d4.plot(kind='bar')
plt.title("Shipping Type - usercnt")
plt.xlabel("Shipping Type")
plt.ylabel("usercnt")

'TIL' 카테고리의 다른 글

2024-06-04  (0) 2024.06.04
2024-06-03  (1) 2024.06.03
2024-05-31  (1) 2024.05.31
2024-05-30  (0) 2024.05.30
2024-05-29  (0) 2024.05.29