簡體   English   中英

MySQL 基於記錄計數的案例陳述

[英]MySQL Case Statement based off of a count of records

我正在嘗試制作一個 MySQL 語句,該語句使用一個 CASE 語句,該語句獲取 COUNT 條記錄,然后顯示一個包含基於該信息的列。 我正在使用 Sakila 數據庫。 這是我到目前為止所擁有的

SELECT *,
CASE(
SELECT count(*) FROM  sakila.film_actor fa
WHERE fa.actor_id = a.actor_id)
WHEN 20 THEN 'Newcomer'
WHEN 30 THEN 'Prolific Actor'
ELSE 'Hollywood Star'
END actor_level

FROM sakila.film_actor fa
JOIN actor a ON fa.actor_id = a.actor_id

這行得通,但我需要它的規模,所以 0-20 是新人 21-30 是多產演員 30+ 是好萊塢明星

由於您使用的是mysql ,那么我們可以使用IF() function 來完成

SELECT 
   IF(a.cnt <= 20,'Newcomer',a.cnt > 20 and a.cnt <= 30,'Prolific Actor','Hollywood Star')
     AS actor_level
  FROM
  (
    SELECT count(*) as cnt 
     FROM  sakila.film_actor fa
    WHERE fa.actor_id = a.actor_id
  ) a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM