20240225 SQL
μ§κ³ν¨μ
λ°μ΄ν°μ μ, κ°λ€μ ν©κ³, νκ· , μ΅λκ°, μ΅μκ°μ ꡬνλ ν¨μ.
μ’ λ₯
- count(νλλͺ ) : λ°μ΄ν°μ κ°μλ₯Ό νμ(κ°μ΄ nullμΈ κ²½μ° ν¬ν¨νμ§ μμ)
- count(*) : λ°μ΄ν°μ κ°μλ₯Ό νμ(null ν¬ν¨)
- sum(νλλͺ ) : νλμ κ°μ ν©κ³λ₯Ό νμ
- avg(νλλͺ ) : νλμ κ°μ νκ· μ νμ
- max(νλλͺ ) : νλμ κ°μ μ΅λκ°μ νμ
- min(νλλͺ ) : νλμ κ°μ μ΅μκ°μ νμ
νμ΄λ³΄κΈ° : μ¬λ¬ μ’
λ₯μ νλ‘κ·Έλλ° μΈμ΄κ° μκ³ , ν μ¬λλΉ μ μΌ μνλ νλ‘κ·Έλλ° μΈμ΄κ° μμ. λ€λ₯Έ μ’
λ₯μ νλ‘κ·Έλλ° μΈμ΄λ₯Ό μνλ μ¬λλ€λΌλ¦¬ ν μ‘°λ‘ λ¬Άμ λ, κ°λ₯ν μ‘°μ κ°μ ꡬνκΈ°.
ν
μ΄λΈμ νλ 2κ°λ‘ μ΄λ£¨μ΄μ Έμμ. μ¬λ κ΅¬λ³ κ°λ₯ν κ³ μ λ²νΈμ κ·Έ μ¬λμ΄ μνλ νλ‘κ·Έλλ° μΈμ΄κ° 무μμΈμ§.
- μ€ν¨ν λ°©λ²
μλΈ μΏΌλ¦¬λ₯Ό μ¬μ©ν΄μ count()ν κ±°λ₯Ό λ€μ min()νλ €κ³ νλλ° μ€ν¨νλ μ€.SELECT min(CNT) FROM (SELECT count(κΆκΈν νλλͺ ) as CNT FROM ν μ΄λΈλͺ GROUP BY κΆκΈν νλλͺ )
++ μλ¬ λ°μ μ΄μ μ°Ύμ! μλ¬λ Every derived table must have its own alias μ΄μλλ°, μλ¬κ° λ°μν μ΄μ λ μλΈμΏΌλ¦¬μ alias(μ΄λ¦)κ° μ§μ λμ§ μμμμλ€. λ°λΌμ μλΈμΏΌλ¦¬ κ΄νΈ λ«κ³ κ·Έ λ€μ μλΈμΏΌλ¦¬μ μ΄λ¦μ μ§μ ν΄μ£Όλ©΄ λ¨.
SELECT min(temp) as CNT FROM (SELECT count(κΆκΈν νλλͺ
) as temp FROM ν
μ΄λΈλͺ
GROUP BY κΆκΈν νλλͺ
) new_table
- μ°μ ν΄κ²°ν λ°©λ²
SELECT count(κΆκΈν νλλͺ ) as CNT FROM ν μ΄λΈλͺ GROUP BY κΆκΈν νλλͺ ORDER BY count(κΆκΈν νλλͺ ) asc limit 1
GROUP BYλ₯Ό μ¬μ©νλ©΄ ORDER BYλ₯Ό μ¬μ©νμ§ λͺ»νλ€κ³ μκ°νλλ° μ¬μ©ν μ μκ³ SELECTν κ²μΌλ‘ μ§κ³ν¨μλ₯Ό μ¬μ©νμΌλ©΄ ORDER BY λ€μμλ κ·Έλλ‘ μ§κ³ν¨μ μ¬μ©ν΄μ€μΌ ORDER BY μ¬μ©ν μ μμ.
++ ORDER BYλ₯Ό μ¬μ©νμ§ λͺ»νλ건 μλΈμΏΌλ¦¬.
Leave a comment