Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Database & SysAdmin
  3. Database
  4. Get sum of column base on equality of values of one row From previous generate request( using SELECT and EXTRACT)

Get sum of column base on equality of values of one row From previous generate request( using SELECT and EXTRACT)

Scheduled Pinned Locked Moved Database
database
7 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mostafazs
    wrote on last edited by
    #1

    Hello I can't find solution for this simple query.Want to get sum of column of `VISIT_FEE` that have colum `MONTH_` 2 and `YEAR_` 1396 My main table is like this:

    ID VISIT_DATE VISIT_TIME VISIT_FEE IS_PAY
    1 13960124 10:00 300000 1
    6 13960208 10:50 2500000 1
    7 13960208 11:00 210000 1
    8 13960209 10:20 300000 1

    and now i use below query:

    SELECT
    VISIT_FEE,
    EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
    EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_,
    EXTRACT(DAY FROM VISIT_DATE) AS DAY_

    FROM
    MZS_VISIT_REQUEST
    WHERE
    IS_PAY = 1

    and result is :

    VISIT_FEE YEAR_ MONTH_ DAY_
    300000 1396 1 1
    2500000 1396 2 2
    210000 1396 2 2
    300000 1396 2 2

    And now i want some of colum `VISIT_FEE` that have YEAR_ 1396 and MONTH_ 2 and 1 somethings like below table:

    FEE YEAR_ MONTH_ DAY_
    300000 1396 1 1
    3010000 1396 2 2

    Thanks.

    M A 2 Replies Last reply
    0
    • M Mostafazs

      Hello I can't find solution for this simple query.Want to get sum of column of `VISIT_FEE` that have colum `MONTH_` 2 and `YEAR_` 1396 My main table is like this:

      ID VISIT_DATE VISIT_TIME VISIT_FEE IS_PAY
      1 13960124 10:00 300000 1
      6 13960208 10:50 2500000 1
      7 13960208 11:00 210000 1
      8 13960209 10:20 300000 1

      and now i use below query:

      SELECT
      VISIT_FEE,
      EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
      EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_,
      EXTRACT(DAY FROM VISIT_DATE) AS DAY_

      FROM
      MZS_VISIT_REQUEST
      WHERE
      IS_PAY = 1

      and result is :

      VISIT_FEE YEAR_ MONTH_ DAY_
      300000 1396 1 1
      2500000 1396 2 2
      210000 1396 2 2
      300000 1396 2 2

      And now i want some of colum `VISIT_FEE` that have YEAR_ 1396 and MONTH_ 2 and 1 somethings like below table:

      FEE YEAR_ MONTH_ DAY_
      300000 1396 1 1
      3010000 1396 2 2

      Thanks.

      M Offline
      M Offline
      Maciej Los
      wrote on last edited by
      #2

      Please replace:

      EXTRACT(MONTH FROM VISIT_DATE) AS DAY_

      with:

      EXTRACT(DAY FROM VISIT_DATE) AS DAY_

      and everything should be OK. For further details, please see: [EXTRACT (datetime)](https://docs.oracle.com/cd/B28359\_01/server.111/b28286/functions052.htm#SQLRF00639)

      M 1 Reply Last reply
      0
      • M Maciej Los

        Please replace:

        EXTRACT(MONTH FROM VISIT_DATE) AS DAY_

        with:

        EXTRACT(DAY FROM VISIT_DATE) AS DAY_

        and everything should be OK. For further details, please see: [EXTRACT (datetime)](https://docs.oracle.com/cd/B28359\_01/server.111/b28286/functions052.htm#SQLRF00639)

        M Offline
        M Offline
        Mostafazs
        wrote on last edited by
        #3

        Thanks for replay. but this is just my misspelling and nothings changed on result. my show result table table is correct. I want to get sum of column `VISIT_FEE`

        M 1 Reply Last reply
        0
        • M Mostafazs

          Hello I can't find solution for this simple query.Want to get sum of column of `VISIT_FEE` that have colum `MONTH_` 2 and `YEAR_` 1396 My main table is like this:

          ID VISIT_DATE VISIT_TIME VISIT_FEE IS_PAY
          1 13960124 10:00 300000 1
          6 13960208 10:50 2500000 1
          7 13960208 11:00 210000 1
          8 13960209 10:20 300000 1

          and now i use below query:

          SELECT
          VISIT_FEE,
          EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
          EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_,
          EXTRACT(DAY FROM VISIT_DATE) AS DAY_

          FROM
          MZS_VISIT_REQUEST
          WHERE
          IS_PAY = 1

          and result is :

          VISIT_FEE YEAR_ MONTH_ DAY_
          300000 1396 1 1
          2500000 1396 2 2
          210000 1396 2 2
          300000 1396 2 2

          And now i want some of colum `VISIT_FEE` that have YEAR_ 1396 and MONTH_ 2 and 1 somethings like below table:

          FEE YEAR_ MONTH_ DAY_
          300000 1396 1 1
          3010000 1396 2 2

          Thanks.

          A Offline
          A Offline
          anarayane
          wrote on last edited by
          #4

          SELECT
          sum(VISIT_FEE) AS VISIT_FEE,
          EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
          EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_,

          FROM
          MZS_VISIT_REQUEST
          WHERE
          IS_PAY = 1
          GROUP by
          EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
          EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_

          Please try this one

          M 1 Reply Last reply
          0
          • M Mostafazs

            Thanks for replay. but this is just my misspelling and nothings changed on result. my show result table table is correct. I want to get sum of column `VISIT_FEE`

            M Offline
            M Offline
            Maciej Los
            wrote on last edited by
            #5

            All you need to do is to use [SUM()](https://www.techonthenet.com/oracle/functions/sum.php) - one of [aggragate functions](https://docs.oracle.com/database/121/SQLRF/functions003.htm#SQLRF20035):

            SELECT SUM(VISIT_FEE) AS FEE,
            EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
            EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_,
            EXTRACT(DAY FROM VISIT_DATE) AS DAY_
            FROM MZS_VISIT_REQUEST
            WHERE IS_PAY = 1
            GROUP BY EXTRACT(YEAR FROM VISIT_DATE),
            EXTRACT(MONTH FROM VISIT_DATE) ,
            EXTRACT(DAY FROM VISIT_DATE)

            Good luck

            M 1 Reply Last reply
            0
            • M Maciej Los

              All you need to do is to use [SUM()](https://www.techonthenet.com/oracle/functions/sum.php) - one of [aggragate functions](https://docs.oracle.com/database/121/SQLRF/functions003.htm#SQLRF20035):

              SELECT SUM(VISIT_FEE) AS FEE,
              EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
              EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_,
              EXTRACT(DAY FROM VISIT_DATE) AS DAY_
              FROM MZS_VISIT_REQUEST
              WHERE IS_PAY = 1
              GROUP BY EXTRACT(YEAR FROM VISIT_DATE),
              EXTRACT(MONTH FROM VISIT_DATE) ,
              EXTRACT(DAY FROM VISIT_DATE)

              Good luck

              M Offline
              M Offline
              Mostafazs
              wrote on last edited by
              #6

              Thanks. :^) But it's not what i want. I want sum of each month like: FEE YEAR_ MONTH_ 300000 1396 1 3010000 1396 2 Sum of `Fee` column if `MONTH_` is equal. like above table.

              1 Reply Last reply
              0
              • A anarayane

                SELECT
                sum(VISIT_FEE) AS VISIT_FEE,
                EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
                EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_,

                FROM
                MZS_VISIT_REQUEST
                WHERE
                IS_PAY = 1
                GROUP by
                EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_,
                EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_

                Please try this one

                M Offline
                M Offline
                Mostafazs
                wrote on last edited by
                #7

                Thanks. But when running i get below error: `Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AS AYEAR_, EXTRACT(MONTH FROM VISIT_DATE) AS BMONTH_' at line 10` When i delete last part(ORDER BY), query without any error with below result FEE YEAR_ MONTH_ 3310000 1396 1 is this any things we can do like --> ` SELECT SUM(VISIT_FEE) AS FEE, EXTRACT(YEAR FROM VISIT_DATE) AS YEAR_, EXTRACT(MONTH FROM VISIT_DATE) AS MONTH_ FROM MZS_VISIT_REQUEST WHERE IS_PAY = 1 AND DISTINCT MONTH_ `???

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • World
                • Users
                • Groups