Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mendapatkan Pengiraan Lajur daripada Lajur Dikira Sedia Ada dalam SQL?

Bagaimanakah Saya Boleh Mendapatkan Pengiraan Lajur daripada Lajur Dikira Sedia Ada dalam SQL?

Patricia Arquette
Patricia Arquetteasal
2025-01-05 13:57:43722semak imbas

How Can I Derive a Column Calculation from a Pre-existing Calculated Column in SQL?

Mendapatkan Pengiraan Lajur daripada Lajur Dikira dalam SQL

Dalam SQL, anda mungkin menghadapi keperluan untuk mengira lagi lajur berdasarkan lajur yang dikira sebelum ini dalam paparan atau pertanyaan yang sama. Ini boleh dicapai melalui pelbagai kaedah.

Satu pendekatan ialah memperkenalkan subkueri bersarang, seperti yang ditunjukkan di bawah:

SELECT
  ColumnA,
  ColumnB,
  calccolumn1,
  calccolumn1 / ColumnC AS calccolumn2
FROM (
  SELECT
    ColumnA,
    ColumnB,
    ColumnC,
    ColumnA + ColumnB AS calccolumn1
  FROM table_name
);

Dalam pertanyaan ini, subkueri mengira calccolumn lajur awal menggunakan ungkapan LajurA LajurB. Selepas itu, pertanyaan luar merujuk calccolumn1 untuk mengira calccolumn2.

Sebagai alternatif, jika pengiraan awal tidak mahal secara pengiraan, anda boleh mengulangi pengiraan secara eksplisit dalam pertanyaan utama:

SELECT
  ColumnA,
  ColumnB,
  ColumnA + ColumnB AS calccolumn1,
  (ColumnA + ColumnB) / ColumnC AS calccolumn2
FROM table_name;

Ini pendekatan memastikan bahawa kedua-dua pengiraan dilakukan serentak, tanpa memerlukan bersarang.

Dengan melaksanakan kaedah ini, anda boleh memperoleh pengiraan lajur tambahan dengan lancar daripada lajur terkira sedia ada dalam pertanyaan dan paparan SQL anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Pengiraan Lajur daripada Lajur Dikira Sedia Ada dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn