mysql case when

发布时间 2023-09-12 11:32:57作者: 若-飞

当使用 MySQL 进行查询时,可以使用 CASE 表达式来根据条件对结果进行分支处理。CASE 表达式在 SELECT 语句中非常有用,可以根据不同的条件返回不同的值。在本文中,我们将介绍如何使用 CASE 表达式进行条件分支查询。

假设我们有一个名为 transactions 的表,其中包含以下字段:tx_idtx_type 和 amount。我们想要根据 tx_type 的不同值创建一个名为 transaction_category 的字段,用于标识交易的类型。

下面是使用 CASE 表达式在查询中创建 transaction_category 字段的示例:

sql
SELECT tx_id, tx_type, amount,
    CASE
        WHEN tx_type = 'mint' THEN 'Create NFT'
        WHEN tx_type = 'transfer' THEN 'NFT Transaction'
        WHEN tx_type = 'buy' THEN 'Buy'
        ELSE 'Other'
    END AS transaction_category
FROM transactions;

在上述代码中,我们使用 CASE 表达式在 SELECT 语句中创建了一个名为 transaction_category 的新字段。根据 tx_type 的不同值,我们定义了不同的条件分支。

  • 当 tx_type 为 'mint' 时,transaction_category 的值为 'Create NFT'
  • 当 tx_type 为 'transfer' 时,transaction_category 的值为 'NFT Transaction'
  • 当 tx_type 为 'buy' 时,transaction_category 的值为 'Buy'
  • 对于其他任何值,transaction_category 的值为 'Other'

通过这种方式,我们可以根据不同的条件对查询结果进行分类和标识。

在实际应用中,您可以根据您的数据模型和需要进行自定义。这种用法可以帮助您根据不同的条件创建新的字段或进行其他类型的条件分支查询。

希望本文对您有所帮助!如果您有任何其他问题,请随时提问。