Show current row “win streak” Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Using Row_Number to find consecutive row countReset password for 'postgres' on v9.3 (Win Srv)Group by maximum consecutive rowMerging adjacent date intervals into a single rowTrigger function using current row and current table name as variablesTrigger function using current row and current table name as variables (final part)Selecting row grouped by an “add-on” indicatorFilter on time difference between current and next rowPostgreSQL: mark current session as “unimportant”How to count max date row if current status column is 0 or 2?

Can two person see the same photon?

Flight departed from the gate 5 min before scheduled departure time. Refund options

"klopfte jemand" or "jemand klopfte"?

Why not send Voyager 3 and 4 following up the paths taken by Voyager 1 and 2 to re-transmit signals of later as they fly away from Earth?

Would color changing eyes affect vision?

Delete free apps from library

Resize vertical bars (absolute-value symbols)

Does the Mueller report show a conspiracy between Russia and the Trump Campaign?

License to disallow distribution in closed source software, but allow exceptions made by owner?

Putting class ranking in CV, but against dept guidelines

Where is the Next Backup Size entry on iOS 12?

What is a more techy Technical Writer job title that isn't cutesy or confusing?

Understanding p-Values using an example

What does 丫 mean? 丫是什么意思?

Is CEO the "profession" with the most psychopaths?

RSA find public exponent

How can I prevent/balance waiting and turtling as a response to cooldown mechanics

How do living politicians protect their readily obtainable signatures from misuse?

Positioning dot before text in math mode

As a dual citizen, my US passport will expire one day after traveling to the US. Will this work?

The test team as an enemy of development? And how can this be avoided?

Does silver oxide react with hydrogen sulfide?

Co-worker has annoying ringtone

Random body shuffle every night—can we still function?



Show current row “win streak”



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Using Row_Number to find consecutive row countReset password for 'postgres' on v9.3 (Win Srv)Group by maximum consecutive rowMerging adjacent date intervals into a single rowTrigger function using current row and current table name as variablesTrigger function using current row and current table name as variables (final part)Selecting row grouped by an “add-on” indicatorFilter on time difference between current and next rowPostgreSQL: mark current session as “unimportant”How to count max date row if current status column is 0 or 2?



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3















I need to show the running win/loss streak per row in a query, so given the table below, the query should return the "expected" column. I've tried some approaches with window functions, but no success.



create table matches (player text, dt date, is_winner boolean, expected integer )
insert into matches values
('A', '2019-01-01', TRUE, 0),
('A', '2019-01-03', TRUE, 1),
('A', '2019-01-04', TRUE, 2),
('A', '2019-01-09', FALSE, 0),
('A', '2019-01-10', FALSE, -1),
('A', '2019-01-15', TRUE, 0);


player dt is_winner expected
A 2019-01-01 true 0
A 2019-01-03 true 1
A 2019-01-04 true 2
A 2019-01-09 false 0
A 2019-01-10 false -1
A 2019-01-15 true 0



The logic is:



  1. Resets to 0 when winning after a loss, or losing after a win.

  2. Increments after a win, but not if it's case 1.

  3. Decrements after a loss, but not if it's case 1.

Any insights on how to tackle this are welcome. My last resort would be a function with a loop called by every row.










share|improve this question









New contributor




codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.


























    3















    I need to show the running win/loss streak per row in a query, so given the table below, the query should return the "expected" column. I've tried some approaches with window functions, but no success.



    create table matches (player text, dt date, is_winner boolean, expected integer )
    insert into matches values
    ('A', '2019-01-01', TRUE, 0),
    ('A', '2019-01-03', TRUE, 1),
    ('A', '2019-01-04', TRUE, 2),
    ('A', '2019-01-09', FALSE, 0),
    ('A', '2019-01-10', FALSE, -1),
    ('A', '2019-01-15', TRUE, 0);


    player dt is_winner expected
    A 2019-01-01 true 0
    A 2019-01-03 true 1
    A 2019-01-04 true 2
    A 2019-01-09 false 0
    A 2019-01-10 false -1
    A 2019-01-15 true 0



    The logic is:



    1. Resets to 0 when winning after a loss, or losing after a win.

    2. Increments after a win, but not if it's case 1.

    3. Decrements after a loss, but not if it's case 1.

    Any insights on how to tackle this are welcome. My last resort would be a function with a loop called by every row.










    share|improve this question









    New contributor




    codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      3












      3








      3








      I need to show the running win/loss streak per row in a query, so given the table below, the query should return the "expected" column. I've tried some approaches with window functions, but no success.



      create table matches (player text, dt date, is_winner boolean, expected integer )
      insert into matches values
      ('A', '2019-01-01', TRUE, 0),
      ('A', '2019-01-03', TRUE, 1),
      ('A', '2019-01-04', TRUE, 2),
      ('A', '2019-01-09', FALSE, 0),
      ('A', '2019-01-10', FALSE, -1),
      ('A', '2019-01-15', TRUE, 0);


      player dt is_winner expected
      A 2019-01-01 true 0
      A 2019-01-03 true 1
      A 2019-01-04 true 2
      A 2019-01-09 false 0
      A 2019-01-10 false -1
      A 2019-01-15 true 0



      The logic is:



      1. Resets to 0 when winning after a loss, or losing after a win.

      2. Increments after a win, but not if it's case 1.

      3. Decrements after a loss, but not if it's case 1.

      Any insights on how to tackle this are welcome. My last resort would be a function with a loop called by every row.










      share|improve this question









      New contributor




      codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I need to show the running win/loss streak per row in a query, so given the table below, the query should return the "expected" column. I've tried some approaches with window functions, but no success.



      create table matches (player text, dt date, is_winner boolean, expected integer )
      insert into matches values
      ('A', '2019-01-01', TRUE, 0),
      ('A', '2019-01-03', TRUE, 1),
      ('A', '2019-01-04', TRUE, 2),
      ('A', '2019-01-09', FALSE, 0),
      ('A', '2019-01-10', FALSE, -1),
      ('A', '2019-01-15', TRUE, 0);


      player dt is_winner expected
      A 2019-01-01 true 0
      A 2019-01-03 true 1
      A 2019-01-04 true 2
      A 2019-01-09 false 0
      A 2019-01-10 false -1
      A 2019-01-15 true 0



      The logic is:



      1. Resets to 0 when winning after a loss, or losing after a win.

      2. Increments after a win, but not if it's case 1.

      3. Decrements after a loss, but not if it's case 1.

      Any insights on how to tackle this are welcome. My last resort would be a function with a loop called by every row.







      postgresql gaps-and-islands






      share|improve this question









      New contributor




      codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 3 hours ago









      Paul White

      54.3k14288461




      54.3k14288461






      New contributor




      codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 10 hours ago









      codigofontescodigofontes

      183




      183




      New contributor




      codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      codigofontes is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          1 Answer
          1






          active

          oldest

          votes


















          4














          I've done this in stages using CTEs so that you can see how it's done as the queries progress. Each CTE adds a column in the output in order to show you progress.



          It's pretty much self-documenting with the CTE names, to be honest.



          with lags as (
          select player,
          dt,
          is_winner,
          lag(is_winner) OVER (partition by player ORDER BY dt ASC) as prev_is_winner,
          expected
          from matches
          ),
          group_changes as (
          select lags.*,
          case
          when prev_is_winner <> is_winner or prev_is_winner is null
          then 1
          else 0
          end as is_new_group
          from lags
          ),
          groups_numbered as (
          select *,
          sum(is_new_group)
          over (partition by player order by dt, is_winner desc) as streak_group
          from group_changes
          ),
          expected_in_groups as (
          select groups_numbered.*,
          row_number()
          over (partition by player,streak_group
          order by dt asc, streak_group asc) - 1 as expected_unsigned
          from groups_numbered
          )
          select expected_in_groups.*, case when is_winner = 't' then expected_unsigned else expected_unsigned * -1 end as actual
          from expected_in_groups
          order by player asc, dt asc;


          DB Fiddle Link (I added an extra row just to make sure it was working at a certain point)



          Basically:




          1. lags CTE: use LAG() to get the previous result relative to the current row.


          2. group_changes CTE: Detect whether the previous streak, whether win or loss, has ended


          3. groups_numbered CTE: Give each streak a number


          4. expected_in_groups CTE: Number the rows in the group

          5. Final select: negate the loss streaks

          .



          +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
          | player | dt | is_winner | prev_is_winner | expected | is_new_group | streak_group | expected_unsigned | actual |
          +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
          | A | 2019-01-01 | t | | 0 | 1 | 1 | 0 | 0 |
          | A | 2019-01-03 | t | t | 1 | 0 | 1 | 1 | 1 |
          | A | 2019-01-04 | t | t | 2 | 0 | 1 | 2 | 2 |
          | A | 2019-01-09 | f | t | 0 | 1 | 2 | 0 | 0 |
          | A | 2019-01-10 | f | f | -1 | 0 | 2 | 1 | -1 |
          | A | 2019-01-11 | f | f | -2 | 0 | 2 | 2 | -2 |
          | A | 2019-01-15 | t | f | 0 | 1 | 3 | 0 | 0 |
          +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+





          share|improve this answer

























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "182"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );






            codigofontes is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f235306%2fshow-current-row-win-streak%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4














            I've done this in stages using CTEs so that you can see how it's done as the queries progress. Each CTE adds a column in the output in order to show you progress.



            It's pretty much self-documenting with the CTE names, to be honest.



            with lags as (
            select player,
            dt,
            is_winner,
            lag(is_winner) OVER (partition by player ORDER BY dt ASC) as prev_is_winner,
            expected
            from matches
            ),
            group_changes as (
            select lags.*,
            case
            when prev_is_winner <> is_winner or prev_is_winner is null
            then 1
            else 0
            end as is_new_group
            from lags
            ),
            groups_numbered as (
            select *,
            sum(is_new_group)
            over (partition by player order by dt, is_winner desc) as streak_group
            from group_changes
            ),
            expected_in_groups as (
            select groups_numbered.*,
            row_number()
            over (partition by player,streak_group
            order by dt asc, streak_group asc) - 1 as expected_unsigned
            from groups_numbered
            )
            select expected_in_groups.*, case when is_winner = 't' then expected_unsigned else expected_unsigned * -1 end as actual
            from expected_in_groups
            order by player asc, dt asc;


            DB Fiddle Link (I added an extra row just to make sure it was working at a certain point)



            Basically:




            1. lags CTE: use LAG() to get the previous result relative to the current row.


            2. group_changes CTE: Detect whether the previous streak, whether win or loss, has ended


            3. groups_numbered CTE: Give each streak a number


            4. expected_in_groups CTE: Number the rows in the group

            5. Final select: negate the loss streaks

            .



            +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
            | player | dt | is_winner | prev_is_winner | expected | is_new_group | streak_group | expected_unsigned | actual |
            +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
            | A | 2019-01-01 | t | | 0 | 1 | 1 | 0 | 0 |
            | A | 2019-01-03 | t | t | 1 | 0 | 1 | 1 | 1 |
            | A | 2019-01-04 | t | t | 2 | 0 | 1 | 2 | 2 |
            | A | 2019-01-09 | f | t | 0 | 1 | 2 | 0 | 0 |
            | A | 2019-01-10 | f | f | -1 | 0 | 2 | 1 | -1 |
            | A | 2019-01-11 | f | f | -2 | 0 | 2 | 2 | -2 |
            | A | 2019-01-15 | t | f | 0 | 1 | 3 | 0 | 0 |
            +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+





            share|improve this answer





























              4














              I've done this in stages using CTEs so that you can see how it's done as the queries progress. Each CTE adds a column in the output in order to show you progress.



              It's pretty much self-documenting with the CTE names, to be honest.



              with lags as (
              select player,
              dt,
              is_winner,
              lag(is_winner) OVER (partition by player ORDER BY dt ASC) as prev_is_winner,
              expected
              from matches
              ),
              group_changes as (
              select lags.*,
              case
              when prev_is_winner <> is_winner or prev_is_winner is null
              then 1
              else 0
              end as is_new_group
              from lags
              ),
              groups_numbered as (
              select *,
              sum(is_new_group)
              over (partition by player order by dt, is_winner desc) as streak_group
              from group_changes
              ),
              expected_in_groups as (
              select groups_numbered.*,
              row_number()
              over (partition by player,streak_group
              order by dt asc, streak_group asc) - 1 as expected_unsigned
              from groups_numbered
              )
              select expected_in_groups.*, case when is_winner = 't' then expected_unsigned else expected_unsigned * -1 end as actual
              from expected_in_groups
              order by player asc, dt asc;


              DB Fiddle Link (I added an extra row just to make sure it was working at a certain point)



              Basically:




              1. lags CTE: use LAG() to get the previous result relative to the current row.


              2. group_changes CTE: Detect whether the previous streak, whether win or loss, has ended


              3. groups_numbered CTE: Give each streak a number


              4. expected_in_groups CTE: Number the rows in the group

              5. Final select: negate the loss streaks

              .



              +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
              | player | dt | is_winner | prev_is_winner | expected | is_new_group | streak_group | expected_unsigned | actual |
              +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
              | A | 2019-01-01 | t | | 0 | 1 | 1 | 0 | 0 |
              | A | 2019-01-03 | t | t | 1 | 0 | 1 | 1 | 1 |
              | A | 2019-01-04 | t | t | 2 | 0 | 1 | 2 | 2 |
              | A | 2019-01-09 | f | t | 0 | 1 | 2 | 0 | 0 |
              | A | 2019-01-10 | f | f | -1 | 0 | 2 | 1 | -1 |
              | A | 2019-01-11 | f | f | -2 | 0 | 2 | 2 | -2 |
              | A | 2019-01-15 | t | f | 0 | 1 | 3 | 0 | 0 |
              +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+





              share|improve this answer



























                4












                4








                4







                I've done this in stages using CTEs so that you can see how it's done as the queries progress. Each CTE adds a column in the output in order to show you progress.



                It's pretty much self-documenting with the CTE names, to be honest.



                with lags as (
                select player,
                dt,
                is_winner,
                lag(is_winner) OVER (partition by player ORDER BY dt ASC) as prev_is_winner,
                expected
                from matches
                ),
                group_changes as (
                select lags.*,
                case
                when prev_is_winner <> is_winner or prev_is_winner is null
                then 1
                else 0
                end as is_new_group
                from lags
                ),
                groups_numbered as (
                select *,
                sum(is_new_group)
                over (partition by player order by dt, is_winner desc) as streak_group
                from group_changes
                ),
                expected_in_groups as (
                select groups_numbered.*,
                row_number()
                over (partition by player,streak_group
                order by dt asc, streak_group asc) - 1 as expected_unsigned
                from groups_numbered
                )
                select expected_in_groups.*, case when is_winner = 't' then expected_unsigned else expected_unsigned * -1 end as actual
                from expected_in_groups
                order by player asc, dt asc;


                DB Fiddle Link (I added an extra row just to make sure it was working at a certain point)



                Basically:




                1. lags CTE: use LAG() to get the previous result relative to the current row.


                2. group_changes CTE: Detect whether the previous streak, whether win or loss, has ended


                3. groups_numbered CTE: Give each streak a number


                4. expected_in_groups CTE: Number the rows in the group

                5. Final select: negate the loss streaks

                .



                +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
                | player | dt | is_winner | prev_is_winner | expected | is_new_group | streak_group | expected_unsigned | actual |
                +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
                | A | 2019-01-01 | t | | 0 | 1 | 1 | 0 | 0 |
                | A | 2019-01-03 | t | t | 1 | 0 | 1 | 1 | 1 |
                | A | 2019-01-04 | t | t | 2 | 0 | 1 | 2 | 2 |
                | A | 2019-01-09 | f | t | 0 | 1 | 2 | 0 | 0 |
                | A | 2019-01-10 | f | f | -1 | 0 | 2 | 1 | -1 |
                | A | 2019-01-11 | f | f | -2 | 0 | 2 | 2 | -2 |
                | A | 2019-01-15 | t | f | 0 | 1 | 3 | 0 | 0 |
                +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+





                share|improve this answer















                I've done this in stages using CTEs so that you can see how it's done as the queries progress. Each CTE adds a column in the output in order to show you progress.



                It's pretty much self-documenting with the CTE names, to be honest.



                with lags as (
                select player,
                dt,
                is_winner,
                lag(is_winner) OVER (partition by player ORDER BY dt ASC) as prev_is_winner,
                expected
                from matches
                ),
                group_changes as (
                select lags.*,
                case
                when prev_is_winner <> is_winner or prev_is_winner is null
                then 1
                else 0
                end as is_new_group
                from lags
                ),
                groups_numbered as (
                select *,
                sum(is_new_group)
                over (partition by player order by dt, is_winner desc) as streak_group
                from group_changes
                ),
                expected_in_groups as (
                select groups_numbered.*,
                row_number()
                over (partition by player,streak_group
                order by dt asc, streak_group asc) - 1 as expected_unsigned
                from groups_numbered
                )
                select expected_in_groups.*, case when is_winner = 't' then expected_unsigned else expected_unsigned * -1 end as actual
                from expected_in_groups
                order by player asc, dt asc;


                DB Fiddle Link (I added an extra row just to make sure it was working at a certain point)



                Basically:




                1. lags CTE: use LAG() to get the previous result relative to the current row.


                2. group_changes CTE: Detect whether the previous streak, whether win or loss, has ended


                3. groups_numbered CTE: Give each streak a number


                4. expected_in_groups CTE: Number the rows in the group

                5. Final select: negate the loss streaks

                .



                +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
                | player | dt | is_winner | prev_is_winner | expected | is_new_group | streak_group | expected_unsigned | actual |
                +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+
                | A | 2019-01-01 | t | | 0 | 1 | 1 | 0 | 0 |
                | A | 2019-01-03 | t | t | 1 | 0 | 1 | 1 | 1 |
                | A | 2019-01-04 | t | t | 2 | 0 | 1 | 2 | 2 |
                | A | 2019-01-09 | f | t | 0 | 1 | 2 | 0 | 0 |
                | A | 2019-01-10 | f | f | -1 | 0 | 2 | 1 | -1 |
                | A | 2019-01-11 | f | f | -2 | 0 | 2 | 2 | -2 |
                | A | 2019-01-15 | t | f | 0 | 1 | 3 | 0 | 0 |
                +--------+------------+-----------+----------------+----------+--------------+--------------+-------------------+--------+






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 7 hours ago

























                answered 8 hours ago









                PhilᵀᴹPhilᵀᴹ

                25.9k65691




                25.9k65691




















                    codigofontes is a new contributor. Be nice, and check out our Code of Conduct.









                    draft saved

                    draft discarded


















                    codigofontes is a new contributor. Be nice, and check out our Code of Conduct.












                    codigofontes is a new contributor. Be nice, and check out our Code of Conduct.











                    codigofontes is a new contributor. Be nice, and check out our Code of Conduct.














                    Thanks for contributing an answer to Database Administrators Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f235306%2fshow-current-row-win-streak%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

                    Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

                    How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2