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 |